0

我一直在为我们心爱的 MediaPlayer 课程苦苦挣扎...具体来说,我想简单地播放一些文件中的声音...我实际上遇到了两种特定类型的错误,而且不是持续的,但它似乎是随机的...有时10 个文件被正确播放,没有错误,然后 MediPlayer 似乎停止接受另一个文件......好吧,第一个错误:

- 05-26 15:02:00.916: ERROR/MediaPlayer(25793): error (1, -4)
- 05-26 15:02:00.916: ERROR/setupplayer(25793): java.io.IOException: Prepare failed.: status=0x1

那么对于这个我已经看到了几个解决方案:使用

mp.setDataSource(ins.getFD()); (with ins being an inputstream to my File)

和/或使用

mp.setDataSource(ins.getFD(), 0, f.length());

不幸的是,两者都不能解决问题,我很想知道非常详尽的错误(1,-4)是什么......我在哪里可以找到 MediaPlayer 的状态代码?我也尝试过使用 prepareAsync() 而不是 prepare() 但老实说它似乎根本没有任何区别。第二个错误是抛出的异常:

05-26 15:17:30.456: ERROR/playNextPlayer(27303): Error caught : java.lang.IllegalStateException

我猜哪一个可能与第一个错误/问题有关?

4

1 回答 1

0

尝试mp.setDataSource(String path) 例如,mp.setDataSource("sdcard/1.mp3");

由于路径或 FileDescriptor 不正确,错误即将到来。

您应该检查Mediaplayer 类的状态图

于 2011-12-09T16:57:30.067 回答