仿写android音乐播放器的问题
这几天浏览了下《Android应用开发揭秘》,大致看感觉不错。有不少实例,于是按书仿写了其中实例音乐播放器。但是仿写完发现老出现个奇怪的异常,android java.io.IOException: prepare failed.:status=0x1,于是试了多种方式都不行,于是网上搜搜资料,还真有同样的问题。
源代码的播放功能实现如下:
?
mMediaPlayer.reset();mMediaPlayer.setDataSource(filePath);//异常在这里,filePath为要播放的歌曲全路径mMediaPlayer.prepare();mMediaPlayer.start();mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) { nextMusic();} });
?将mMediaPlayer.setDataSource(filePath); 修改为如下:
mMediaPlayer.reset();//mMediaPlayer.setDataSource(filePath);FileInputStream fio = new FileInputStream(new File(filePath));//修改后 mMediaPlayer.setDataSource(fio.getFD());mMediaPlayer.prepare();mMediaPlayer.start();mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) {nextMusic();} });
重新运行播放器,问题解决。记下来,与大家分享。
?
?
?
?
?
?
?
?