首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SeekTo最初出现在安卓的Mediaplayer中,使得mediaplayer无法工作

SeekTo最初出现在安卓的Mediaplayer中,使得mediaplayer无法工作
EN

Stack Overflow用户
提问于 2021-06-28 16:10:48
回答 1查看 44关注 0票数 0

这是我创建我的媒体播放器并设置它的源的方法,但是在我调用seekTo之后它就不再播放了(如果我给它一段时间--取决于音频,它在调试后-->结论)。

代码语言:javascript
运行
复制
public void makeAudio(boolean isInit){
    try{
        if(!isInit){
            mediaPlayer = new MediaPlayer();
        }
        soundSource = episode.getAudio();
        mediaPlayer.setDataSource(soundSource);
        mediaPlayer.prepareAsync();


        mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                soundLength = mediaPlayer.getDuration();
                seekBar.setMax(soundLength/1000);
               mediaPlayer.seekTo(progress);//the problem I guess
            }
        });

    }catch (Exception e){
        e.printStackTrace();
    }
}

它向我显示以下错误消息:

代码语言:javascript
运行
复制
E/MediaPlayerNative: Attempt to perform seekTo in wrong state: mPlayer=0x706c23ebc0, mCurrentState=0

我想对此有任何建议,因为我想让我的mediaplayer转到进度值(我从我的意图中获得它)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-14 21:01:46

我建议你使用ExoPlayer,它是MediaPlayer的改进版本,addListener对在线音频效果更好。

您必须添加侦听器,直到它准备就绪,然后您才能获得持续时间:

代码语言:javascript
运行
复制
exoPlayer.addListener(new Player.Listener() {
                @Override
                public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
                    if (playbackState == ExoPlayer.STATE_READY) {
                        long realDurationMillis = exoPlayer.getDuration();
                        seekBar.setMax((int)realDurationMillis/1000);
                        dialog.dismiss();
                    }

                    if (playbackState == ExoPlayer.STATE_ENDED){
                        performEndExoPlayer();
                    }
                }
            });

下面是一个可以查看https://developer.android.com/codelabs/exoplayer-intro#5的示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68159773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档