我有这段简单的代码,每次单击NEXT按钮时都会执行:
mediaPlayer.Stop();
mediaPlayer.Release();
mediaPlayer = MediaPlayer.Create(this, uri);
btn_StartOrPause.SetImageResource(Resource.Drawable.btn_pause);
因此,当前歌曲现已停止,并且正在创建具有新uri的新歌曲。直到创建行崩溃为止,此操作大约连续运行2次:
Java.Lang.IllegalStateException:
没有内容。
我使用播放器错了吗?为什么单击一次成功后有时消失却有时崩溃? uri总是正确的。
答案 0 :(得分:0)
可以使用
mediaPlayer.stop()
mediaPlayer.reset()
然后使用
mediaPlayer.setDataSource(filePath);
mediaPlayer.prepare();
也许release()会使MediaPlayer错误状态。
答案 1 :(得分:0)
尝试了无数次之后,似乎这是结束一首歌曲然后重新创建另一首歌曲的正确语法:
mediaPlayer.Stop();
mediaPlayer = MediaPlayer.Create(this, uri);
请注意,我的mediaPlayer是一个静态变量!
谢谢!