展会信息港展会大全

Android MediaPlayer 播放prepareAsync called in state 8解决办法
来源:互联网   发布日期:2015-09-29 10:19:11   浏览:2901次  

导读:使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误。以下方法可以避免这个异常出现。 view sourceprint?01 private voidplayAudio(String audioUri){ 02 03 ......

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

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

view source

print?

01 private voidplayAudio(String audioUri){

02

03 Uri uri = Uri.parse(audioUri);

04

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

06

07

08 try {

09

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

11

12if(mMediaPlayer != null) {

13

14mMediaPlayer.stop();

15

16}

17

18 mMediaPlayer.prepare();

19

20 mMediaPlayer.start();

21

22 } catch(IllegalStateException e) {

23

24 e.printStackTrace();

25

26 } catch(IOException e) {

27

28 e.printStackTrace();

29

30 }

31

32 }

另一种解决办法:

01 try {

02if (!isPlaying) {

03isPlaying = true;

04//装载资源

05mediaPlayer = MediaPlayer.create(PlaySDMp3Activity.this, R.raw.trouble);

06isReleased = false;

07mediaPlayer.setLooping(true);

08

09mediaPlayer.start();

10mTextView.setText("当前正在播放音乐!");

11}

12 } catch (IllegalStateException e) {

13// TODO Auto-generated catch block

14e.printStackTrace();

15 }

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

赞助本站

人工智能实验室

相关热词: 错误 解决 prepareAsync called

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港