问题: android 开发音乐播放器 MediaPlayerprepare;报错
描述:

android 播放音乐 MediaPlayer.prepare();报错。点击多次后才崩溃

/**
     * 播放音乐
     * @param path
     */

    public void play(String path){
        if(mediaPlayer!=null){
            mediaPlayer.reset();
            try {
                mediaPlayer.setDataSource(path);
                mediaPlayer.prepare();
                mediaPlayer.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

报错:

 FATAL EXCEPTION: main
       Process: cn.com.mymusic, PID: 11807
       java.lang.IllegalStateException
       at android.media.MediaPlayer._prepare(Native Method)
       at android.media.MediaPlayer.prepare(MediaPlayer.java:1143)
       at cn.com.mymusic.MusicService.play(MusicService.java:101)

解决方案1:

播放本地文件 用 mediaPlayer.prepare()
播放网络 mediaPlayer.prepareAsync()

解决方案2:

prepare成功 之后再start.

解决方案3:

why not use 'mediaPlayer.prepareAsync()',then you can setup the callback just like this:

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mediaPlayer.start();
        }
});

it worked fine to me ,i hope it can help you ~

上一篇idea使用 aidl,生成相对应的代码失败
下一篇h5页面跳转app
明星图片
相关文章
《 android 开发音乐播放器 MediaPlayerprepare;报错》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)