我已经完成了一个游戏的开发,但有时候(是的,有时只有!)非常烦人,当我打开它时,它失败了,我可以在logcat中看到这个错误:java.io.IOException:准备失败。 :status = 0x80000000。
这很奇怪,因为它是一个本地文件(2MB mp3文件),我不知道为什么它会显示IOException。而且有时候,并非总是......
编辑:似乎与proguard有关,因为它只发布在发布版本中......
答案 0 :(得分:4)
我终于解决了它。
之所以发生这种情况,是因为我的MediaPlayer变量是静态的,所以当我重新启动应用程序时,我创建了更多的MediaPlayers而没有发布以前的应用程序,并且限制为8(至少在Android 2.3.6中,我测试过它)。调用mediaPlayer.release()(如果mediaPlayer!= null,当然)它已经解决了。
希望它有所帮助。
答案 1 :(得分:0)
我在这里遇到了同样的问题。 (2021 年 5 月)
当我在互联网上找到时,我看到了一些关于这件事的答案。他们说当 mediaPlayer 准备数据源时,它无法读取结束字符,因此返回 IOException Prepare failed。所以他们解决的方法是转换为不同类型的新文件(wav、mp4、mp3...)。希望可以在这个问题上帮助任何人。