Android Simple MediaPlayer问题

时间:2010-10-22 09:40:30

标签: android caching mp3 media-player

有人可以指点我的代码有什么问题吗?

try{
MediaPlayer p = new MediaPlayer();
p.setDataSource(getCacheDir() + "/temp.mp3");
p.prepare();
p.start();
}catch(Exception e){}

每当调用prepare()时,MediaPlayer p都会捕获异常。文件temp.mp3已经在缓存文件夹中,并且它没有损坏,或者它没有被播放。 MediaPlayer无法在缓存中播放文件吗?

我希望有人能让我知道我做错了什么。提前致谢!

2 个答案:

答案 0 :(得分:1)

可能缓存目录是您的私人目录,媒体播放器无法访问它。尝试从SD卡播放。

答案 1 :(得分:1)

使用Filedescriptor:

try{
    MediaPlayer p = new MediaPlayer();
    FileInputStream fis = new FileInputStream(getCacheDir() + "/temp.mp3");
    p.setDataSource(fis.getFD());
    p.prepare();
    p.start();
}catch(Exception e){}