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

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

/**

* 播放网络音频文件

* @param audioUri

*/

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

}

}

更多相关文章

  1. Android中音频文件的使用
  2. Android获取SD卡视频音频文件
  3. 子线程新建Handler为什么会报错?——浅谈Handler、Looper、Messag
  4. android判断文件类型是否为音频文件
  5. 如何向android程序添加音效或者音频文件
  6. android 录音 Android 使用AudioRecord录音相关和音频文件的封装
  7. 线程往数据库里插数据时偶尔会报错
  8. Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
  9. 如何将音频文件与新视频文件合并?是否可以在Android中使用?

随机推荐

  1. Android系列教程(3):Android(安卓)SDK中常用
  2. Android面试题集(2019-04-04总结)
  3. Android(安卓)系统及framework 概述
  4. 浅析Android单线程模型
  5. A folder failed to be renamed or moved
  6. 浅析Android手机卫士接收短信指令执行相
  7. [003] 写给准备学习Android的朋友
  8. Android(安卓)动画标签——scale
  9. Android与JavaScript方法相互调用
  10. 移动互联网的新宠:Android之缤纷世界