我一直在与我们心爱的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
我猜,哪个可能与第一个错误/问题有关?
答案 0 :(得分:0)
试试mp.setDataSource(String path)
例如,mp.setDataSource("sdcard/1.mp3");
因错误的路径或FileDescriptor而出现错误。
您应该检查Mediaplayer类的State Diagram