java中的接口是类吗
409
2022-11-03
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是否被占用,这样就不会报错了 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了
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~