Android   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Mediaplayer错误:在状态4中启动调用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

每次我开始我的流,我得到两个MediaPlayer错误.

在Debug标签“play”中,我点击了播放按钮.
比@L_541_2@mediaPlayer服务中的“onCreate”,执行“setAudioStreamTpe”,“setDatasource”,“prepareAsync”,然@L_801_4@onPrepared(mymediaPlayer).
OnPrepared只执行mp.start().之后记录“onPrepared”.然后,在我的服务“onCreate”结束时,会记录“onCreate @R_772_9260@ce”.

为什么有2个onPrepared?!使用mp.prepare()我没有错误.

代码

    @Override
public void onCreate() {
    mp = new MediaPlayer();
    mp.setOnPreparedListener(this);
    prepareMediaPlayer();
    onPrepared(mp);
    Log.d(tag, "onCreate @R_772_9260@ce");
}


    public void prepareMediaPlayer()
{
    try {
        mp.setAudioStreamType(Au@L_179_3@manager.STREAM_MUSIC);
        Log.d(tag, "setAudiotStreamType");
        mp.setDatasource(PlayerActivity.soundUrl); 
        Log.d(tag, "setDatasource");
        mp.prepareAsync();
        Log.d(tag, "prepareAsync");

    } 
    catch (IOException E) {}
    catch (IllegalArgumentexception E) {} 
    catch (IllegalStateException E) {}

}


    @Override
public void onPrepared(MediaPlayer mp) {
    mp.start();
    if (Player@R_772_9260@ce.mp.isPlaying() == truE){
        notification();
        PlayerActivity.mpState = PlayerActivity.PLAYING;
    }
    Log.d(tag, "onPrepared");
}

解决方法:

你不应该打电话给预备(mp);在onCreate()中,一旦MediaPlayer准备就会调用它.

public void onCreate() {
    mp = new MediaPlayer();
    mp.setOnPreparedListener(this);
    prepareMediaPlayer();
    Log.d(tag, "onCreate @R_772_9260@ce");
}

大佬总结

以上是大佬教程为你收集整理的android – Mediaplayer错误:在状态4中启动调用全部内容,希望文章能够帮你解决android – Mediaplayer错误:在状态4中启动调用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: