0

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();
            }

错误:- setDataSource 在状态 32 中调用

谢谢。

4

1 回答 1

1

从错误来看,之前的实例似乎MediaPlayer没有完全释放。播放完成后,播放器在调用时处于暂停状态。onCompletionListener你能在发布之前取悦stopMediaPlayer

mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = NULL;
mMediaPlayer = new MediaPlayer();
...
于 2013-03-01T15:39:24.770 回答