android mediaplayer 播放 mp4 的问题

Posted

技术标签:

【中文标题】android mediaplayer 播放 mp4 的问题【英文标题】:android mediaplayer issue playing mp4 【发布时间】:2010-11-07 22:55:48 【问题描述】:

我正在尝试在我正在开发的应用中播放 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 );
    

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

谢谢,我认为这与缺少解码器有关。我在模拟器和 Droid X 等多个设备上收到此错误。你知道什么是适用于 android 的优秀软件解码器吗? 还有没有办法至少抛出异常?现在我什么都没有,没有 IOException,没有 OnErrorListener,什么都没有,所以我无法知道视频是否无法在设备上播放? onCompletionListener 会触发吗? 是的,确实很奇怪,因为它没有播放视频。 onErrorListener 不会触发,onInfoListener 也不会触发。 @marchinram,我想这就是你的答案。如果它在您获得信息之前完成,则说明您的 onErrorListener 没有发现错误

以上是关于android mediaplayer 播放 mp4 的问题的主要内容,如果未能解决你的问题,请参考以下文章

android mediaplayer 播放 mp4 的问题

Android WebView 播放 HTML5/h.264/mp​​4 视频,如何进入 MediaPlayer

android mediaplayer能播放啥格式的文件

怎样在android中实现播放MP4资源文件?代码可行简洁的,不用按钮控制,我就是想做一闪屏

赛马林。加载 mp3 以通过 MediaPlayer 播放时遇到问题:FileNotFoundException

Android Studio Java MediaPlayer 只播放音频的第一秒然后停止