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/mp4 视频,如何进入 MediaPlayer
怎样在android中实现播放MP4资源文件?代码可行简洁的,不用按钮控制,我就是想做一闪屏