当我从 MIC 录制音频并将文件存储在/data/data/..... 为什么 MediaPlayer 不能播放这个文件?如果我将目的地更改为/ sdcard/..... - 一切都很好。我做错了什么?我没找到 MediaPlayer 的限制。设备 - 三星 T959 (Galaxy S) 谢谢,我希望有人知道解决方案....
最佳答案
我遇到了同样的问题...每当我将 setDataSource 与文件路径一起使用时,它就不起作用;不断收到 IOException。
更改我的代码以使用 setDataSource(FileDescriptor) 确实有效...有了这个,我不必将文件复制到 SDCard 或类似的东西。
因此,使用一个简单的 File 对象,创建一个新的 FileInputStream 并将实际的文件描述符作为数据源传递,如下所示:
setDataSource((new FileInputStream(myFileInstance)).getFD());
创建输入流会将文件数据拉入内存,从而解决/data/data 访问冲突。
关于android - MediaPlayer 无法播放程序数据文件夹中的音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3773262/