1

我正在尝试在我正在开发的应用程序中播放 mp4 视频,但是每当我在模拟器和某些设备上运行该应用程序时,我都会收到此错误:

ERROR/MemoryHeapBase(34): 错误打开 /dev/pmem_adsp: 没有这样的文件或目录

我不知道这意味着什么,当我用谷歌搜索它时,所有这些响应都与自定义构建操作系统有关,以及我不想做的事情,也不想做。我只想在我的应用程序中播放 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 );
    }
4

1 回答 1

1

AFACT 它正在寻找驱动程序到设备物理内存 (/dev/pmem_) 的文件系统映射,该设备的物理内存 (/dev/pmem_) 控制高级数字信号处理器 (adsp)。我想您使用的编解码器之一正在被传递给这个硬件组件进行解码,但它在文件系统中不存在,因为制造商没有为它编写驱动程序。

我的建议是找到重现此问题的最小可能 MP4 文件并将其报告在 AOSP 错误跟踪器上,连同示例文件一起确保命名有此问题的设备。同时向制造商报告。

如果有一些选项可以使用软件解码器,那么这很可能会提供一个可行的解决方法。

于 2010-11-08T00:21:29.877 回答