最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调

player.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) {mp.reset();Log.i("HB", "播放完成" + currentItem.getName());next(null);}});

 方法。这时候,我就调用next方法播放下一首。

 

此时就遇到了问题,连续跳过了两首歌。

 

后来发现是因为切歌的时候MediaPlayer报了错 Error(0,38);这个错误又会回调上面的方法,回调几次才正常。但发现这个错误并不影响播放。

 

解决办法:拦截这个错误。

 

// 因为直接切歌会发生错误,所以增加错误监听器。返回true。就不会回调onCompletion方法了。player.setOnErrorListener(new OnErrorListener() {@Overridepublic boolean onError(MediaPlayer mp, int what, int extra) {return true;}});

 

 

 

更多相关文章

  1. Android的常见错误及解决办法
  2. 使用百度地图SDK 这是之前版本 现在的sdk v2-1-2使用方法完全改
  3. Android的ActivityNotFoundException异常
  4. Android(安卓)三种延迟操作的实现方法
  5. Android(安卓)EditText截获与监听输入事件
  6. 【Android(安卓)工具类】常用工具类(方法)大全
  7. Androd学习笔记——Android(安卓)Camera Parameters分析
  8. Android检测外接USB设备的几种方法
  9. Android(安卓)>> 26. RecyclerView(一)

随机推荐

  1. gson使用在android使用例子
  2. Android 拍照及相册选图的那些坑
  3. android 设置bitmap 设置图片的大小
  4. android SQLiteDatebase 实践
  5. Ubuntu上安装和使用Android Studio
  6. android音频、视频、拍照基础操作
  7. Android SDK与ADT不匹配的问题 This Andr
  8. Android(安卓)UI ListView讲解
  9. Android下读取logcat的信息
  10. 搭建 android 代码镜像服务