android - MediaPlayer 无法播放程序数据文件夹中的音频文件?

标签 android

当我从 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/

相关文章:

android - 如何设置 FragmentTabHost 选项卡文本颜色

android - 如何将gradle与终端同步

java - DDMS java 分析器显示 : java/lang/StringBuilder. <init> - 它在我的代码中的什么位置?

android - 连接重置后 Realm PermissionManager.getPermissions() 错误

android - 将字符串值从自定义对话框传递到另一个 Activity

android - 包 ID 平台 : android-O not available

android - 将 Runnable + Handler.postDelayed 用于位图标记动画的问题

android - 如何在 Delphi 中获取 android 版本 (4.1.1, 4.4.2, ...)

使用 SharedPreferences 进行 Android 初始化

android - 将不同类型的 View 传递给方法