仿写android音乐播放器的问题

这几天浏览了下《Android应用开发揭秘》,大致看感觉不错。有不少实例,于是按书仿写了其中实例音乐播放器。但是仿写完发现老出现个奇怪的异常,android java.io.IOException: prepare failed.:status=0x1,于是试了多种方式都不行,于是网上搜搜资料,还真有同样的问题。

源代码的播放功能实现如下:

mMediaPlayer.reset();
mMediaPlayer.setDataSource(filePath);//异常在这里,filePath为要播放的歌曲全路径
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
	@Override
	public 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() {
	@Override
	public void onCompletion(MediaPlayer mp) {
		nextMusic();
	}
    });

重新运行播放器,问题解决。记下来,与大家分享。

猜你喜欢

转载自blacksonny.iteye.com/blog/1770109