MediaPlayer错误的任何一个帮助。 当第一个音频正在播放时,目标是改变数据源并播放第二个音频。
我的代码如下: - mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer arg0)
{
String fileName = Environment.getExternalStorageDirectory().getAbsolutePath() + FILENAME+arrListSize+".wav";
mMediaPlayer.release();
mMediaPlayer = null;
mMediaPlayer = new MediaPlayer();
Uri uri = Uri.parse("file://"+fileName); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try
{
mMediaPlayer.setDataSource(getApplicationContext(), uri);
mMediaPlayer.prepare();
}
catch (Exception e)
{
e.printStackTrace();
}
错误: - 在状态32中调用setDataSource
感谢。
答案 0 :(得分:1)
从错误中看,MediaPlayer
的上一个实例未完全释放。播放完成后,当调用onCompletionListener
时,播放器处于暂停状态。在发布相同的内容之前,您可以stop
MediaPlayer
吗?
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = NULL;
mMediaPlayer = new MediaPlayer();
...