设为首页 加入收藏

TOP

Android MediaPlayer播放prepareAsync called in state 8解决办法
2014-11-24 13:00:19 来源: 作者: 【 】 浏览:0
Tags:Android MediaPlayer 播放 prepareAsync called state 解决 办法

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了


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MT6573 Android在Eclipse中Debug.. 下一篇Android 翻页卷曲 电子书源代码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)