Android MediaPlayer播放prepareAsync called in state 8解决办法

 使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误

以下方法可以避免这个异常出现。   

 

private void playAudio(String audioUri){    

Uri uri = Uri.parse(audioUri);  

mMediaPlayer = MediaPlayer.create(getApplicationContext(), uri); 

try {

//在播放之前先判断playerMusic是否被占用,这样就不会报错了

       if (mMediaPlayer != null) { 

       
mMediaPlayer.stop();

       }

mMediaPlayer.prepare();

mMediaPlayer.start();  

} catch (IllegalStateException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

    }

 

 

另一种解决办法:

 

   try {
    if (!isPlaying) {
     isPlaying = true;
     //装载资源
     mediaPlayer = MediaPlayer.create(PlaySDMp3Activity.this, R.raw.trouble);
     isReleased = false;
     mediaPlayer.setLooping(true);

     mediaPlayer.start();
     mTextView.setText("当前正在播放音乐!");
    }
   } catch (IllegalStateException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

MediaPlayer.create(context,resId)这个方式配置数据源后,就完成了初始化,所以不用prepare可以直接start了

时间: 2025-01-02 08:30:45

Android MediaPlayer播放prepareAsync called in state 8解决办法的相关文章

我的Android进阶之旅------>Android MediaPlayer播放mp3的实例--简易mp3播放器

大家好我们今天研究的是Android中很重要也最为复杂的媒体播放器---MediaPlayer. Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的. 首先来看看MediaPlayer的生命周期: 从MediaPlayer的生命周期图或者说是状态转移图上来看: 当一个MediaPlayer对象别创建或者调用reset()方法之后,它处于空闲状态,在调用release()方法

视频-android mediaPlayer播放了1.4G的MP4 抛出 传输量过大异常

问题描述 android mediaPlayer播放了1.4G的MP4 抛出 传输量过大异常 package com.example.zyc.surfaceview; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os

android开发-android中播放器的bug,求解决

问题描述 android中播放器的bug,求解决 再做一个关联后台的手机app ,里面主要是无线广播这一块儿,mms://222.90.232.44:8082/fm999_audio 不能播放.是因为加端口号了么 解决方案 Android很全的资料http://download.csdn.net/album/detail/1121

[J2ME]Nokia播放音乐时发生MediaException的解决办法

 [J2ME]Nokia播放音乐时发生MediaException的解决办法 现象 在Nokia7610上播放音乐时遇到了-18的MediaException错误! J2ME中播放音乐资源的代码很容易找,我是直接从这篇比较经典的<熟练使用J2ME在实际开发中的可选包MMAPI>中复制的代码, 心想,这总不会有错吧? 播放媒体文件流,真机测试发生异常的代码     Player p = Manager.createPlayer(m_isInputImage,"audio/amr&quo

Android ListView的item中嵌套ScrollView的解决办法_Android

 前沿:有时候,listview 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollView的嵌套使用,拦截了listvew点击事件:只好重写listview来实现了. /** * * @author 作者:易皇星 * * @da2016年10月24日 时间: * * @toTODO 类描述: 解决 ListView中嵌套ScrollView,ScrollView拦截ListView的

Android在view.requestFocus(0)返回false的解决办法_Android

我们有时候想让listview的第一行自动获取到焦点,我们就会使用view.requestFocus(0)来操作,而有时候并不生效,debug后显示rerurn为false. 这是因为我们获取焦点太早,listview控件还为加载完毕.可以尝试一下方法解决: listview.post(new Runnable(){ @Override public void run(){ view.requestFocus(0); } }); 以上所述是小编给大家介绍的Android在view.request

Android ListView的item中嵌套ScrollView的解决办法

前沿:有时候,listview 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollView的嵌套使用,拦截了listvew点击事件:只好重写listview来实现了. /** * * @author 作者:易皇星 * * @da2016年10月24日 时间: * * @toTODO 类描述: 解决 ListView中嵌套ScrollView,ScrollView拦截ListView的I

Android Studio 运行时出现的警告信息解决办法

Android Studio 运行时出现的警告信息解决办法 今天群友看到他说运行的时候报下面的错,我记得我之前导入百度地图也是遇到过,运行的时候一堆警告信息,然后编译失败等的,特别郁闷,其实后来在网上查了下,原来是很多第三方里面加个混淆,然后你有找不到那些方法或者匿名内部类,才导致此问题的发生 看到这一堆东西别慌 解决方案: 在您的proguard-rules.pro 中添加这两个混淆 然后重新编译应该是没问题的!希望能够帮助更多的童鞋走出这个坑! -keepattributes Enclosi

Android onKeyDown监听返回键无效的解决办法

Android onKeyDown监听返回键无效的解决办法 当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /** * 退出 */ @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAct