【发布时间】:2014-12-21 19:30:01
【问题描述】:
我在某些设备上播放视频时遇到问题。我正在使用带有 mediaplayer 的纹理视图,SurfaceTextureView 的每个方法都被调用,但是当我只调用 mediaPlayer.start() 时,立即调用完成播放的侦听器。日志中出现此错误:
E/MediaPlayer﹕ error (1, -2147483648)
当我列出所有应用程序的日志时,我可以看到一些错误,但我不知道它是否与http://pastebin.com/rRxxQgdJ 有某种关联@
此日志来自带有 Android 4.3.1 的 CyanogenMod,但在三星 Galaxy S3 mini 等其他一些设备上,此错误正在发生。
在我的 Nexus 4 上一切正常。我尝试使用适用于 android H.264 的 mp4 编解码器甚至使用 ffmpeg 转换该视频,但结果仍然相同。我从这里使用 TextureVideoView 实现: https://github.com/dmytrodanylyk/video-crop/blob/master/library/src/com/dd/crop/TextureVideoView.java
感谢您的建议
【问题讨论】:
-
播放视频的路径有问题..路径不正确..或文件名或文件类型不支持..
-
好吧,文件类型是 mp4,我知道它应该工作不是经验法则,但我将它转换为应该在 Androids 上工作的那种类型.. 如果打开,文件路径是正确的某些设备可以播放,而其他设备不能播放,对吗?我尝试了两种加载视频的方法 - 从资产或原始文件夹中,但它们都不起作用。这是针对资产方法 mTextureVideoView.setDataSource(getAssets().openFd("intro_video.mp4"));这是原始方法 String uriPath = "android.resource://" + getPackageName() + "/raw/intro_video" ;mTextureVideoView.setDataSource(this, Uri.parse(uriPath));
标签: android video ffmpeg android-mediaplayer textureview