随机次数后,Android,MediaPlayer崩溃

时间:2018-10-23 11:29:23

标签: android android-mediaplayer

我有这段简单的代码,每次单击NEXT按钮时都会执行:

   mediaPlayer.Stop();
   mediaPlayer.Release();
   mediaPlayer = MediaPlayer.Create(this, uri);

   btn_StartOrPause.SetImageResource(Resource.Drawable.btn_pause);

因此,当前歌曲现已停止,并且正在创建具有新uri的新歌曲。直到创建行崩溃为止,此操作大约连续运行2次:

Java.Lang.IllegalStateException:

没有内容。

我使用播放器错了吗?为什么单击一次成功后有时消失却有时崩溃? uri总是正确的。

2 个答案:

答案 0 :(得分:0)

可以使用

mediaPlayer.stop()
mediaPlayer.reset()

然后使用

mediaPlayer.setDataSource(filePath);
mediaPlayer.prepare();

也许release()会使MediaPlayer错误状态。

答案 1 :(得分:0)

尝试了无数次之后,似乎这是结束一首歌曲然后重新创建另一首歌曲的正确语法:

            mediaPlayer.Stop();
            mediaPlayer = MediaPlayer.Create(this, uri);

请注意,我的mediaPlayer是一个静态变量!

谢谢!