当应用程序启动时,一切都很好。但一段时间后它停止播放声音。但应用程序不会崩溃。我不明白这有什么问题。
这是我的 MediaPlayer 代码:
holder.btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer!=null){
mediaPlayer.stop();
}
mediaPlayer =MediaPlayer.create(mContext,mChineseLanguages.get(position).getSound());
mediaPlayer.start();
}
});
在 logcats 中显示以下错误
MediaPlayerNative: stop called in state 0,
mPlayer(0x7efba92280) MediaPlayerNative: error (-38, 0)
最佳答案
您需要实现mediaPlayer的onPreparedListener并启动其中的播放器。产生上述错误是因为您在播放器达到 onPrepared 状态之前启动了播放器。
例如-
mediaPlayer.setDataSource(url);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
public void onPrepared(MediaPlayer player) {
player.start();
}
关于java - 我无法理解这个 MediaPlayer 错误 : MediaPlayerNative: stop called in state 0, mPlayer(0x7efba92280),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58444564/