【问题标题】:Cannot play video in TextureView Android无法在 TextureView Android 中播放视频
【发布时间】: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


【解决方案1】:

正如我已经指出的here,这可能是由于平台不支持视频编码参数(配置文件、级别、像素格式等),请尝试使用源代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 2015-09-07
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多