我正在尝试在我正在开发的应用中播放mp4视频但是每当我在模拟器中运行应用程序时,在某些设备上我都会收到此错误:
ERROR / MemoryHeapBase(34):错误打开/ dev / pmem_adsp:没有这样的文件或目录
我不知道这意味着什么,当我用Google搜索时,所有这些响应都与自定义构建操作系统以及我不想做的事情有关,也根本不想做。我只是想在我的应用程序中播放mp4视频,任何建议?顺便说一句,它在Nexus上运行良好。
以下是代码:
try {
AssetFileDescriptor fileDesc = getVideoFileDescriptor();
if (fileDesc != null) {
player.setDataSource(fileDesc.getFileDescriptor(), fileDesc.getStartOffset(), fileDesc.getLength());
fileDesc.close();
player.prepare();
player.setDisplay( holder );
player.setOnCompletionListener( this );
player.start();
}
}
catch (Exception e) {
Log.e( Constants.TAG, "Unable to play intro movie", e );
}
答案 0 :(得分:1)
AFACT它正在寻找驱动程序的文件系统映射到设备的物理内存(/ dev / pmem_),它控制高级数字信号处理器(adsp)。我想你已经使用过的一个编解码器被传递给这个硬件组件进行解码,但它并不存在于文件系统中,因为制造商没有为它编写驱动程序。
我的建议是找到可重现此问题的最小MP4文件,并在AOSP错误跟踪器上报告,同时确保为具有此问题的设备命名。并将其报告给制造商。
如果有一些选项可以使用软件解码器,那么这很可能会提供一种可行的解决方法。