【发布时间】:2021-06-28 08:10:47
【问题描述】:
这是我创建 Mediaplayer 并设置它的源的方法,但是在我直接调用 seekTo 之后它就不再播放了(如果我给它一些时间-取决于音频,它可以工作--> 调试后的结论)。
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();
}
}
它向我显示此错误消息:
E/MediaPlayerNative: Attempt to perform seekTo in wrong state: mPlayer=0x706c23ebc0, mCurrentState=0
我想对此有任何建议,因为我想让我的媒体播放器进入进度值(我从我的意图中得到它)。
【问题讨论】:
标签: java android android-studio gradle android-mediaplayer