2301_76806020 2023-06-14 17:12 采纳率: 0%
浏览 171

[OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010

Android 集成腾讯X5 WebView加载网页 H5 视频播放失败(有声音,没画面)!
错误提示:[OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010

  • 写回答

1条回答 默认 最新

  • IT论之程序员 2023-06-14 22:13
    关注
    
    这个问题是因为Android系统自带的视频解码器不支持H5网页中的H.264格式视频。解决方法有两种:
    1. 使用系统自带的软解码器:
    java
    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(new JsInterface(), "demo");
    webView.loadUrl("javascript:callAndroid()");
    
    public class JsInterface {
        @android.webkit.JavascriptInterface
        public void callAndroid() {
            webView.loadUrl("javascript:(function() {  var tag = document.createElement('script');  tag.src = 'http://yourserver/mediaplayer.js';  var firstScriptTag = document.getElementsByTagName('script')[0];  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);})()"); 
        }
    }
    然后在mediaplayer.js中使用video.js等播放器来播放,它会使用系统软解码器播放H.264视频。
    2. 集成腾讯X5内核,它自带H.264硬解。可以参考https://x5.tencent.com/help/docDetail?id=408&lang=zh。
    所以这里我推荐使用第二种方案,集成腾讯X5内核,它能更好的支持各种视频格式的播放。
    我们可以通过两种方式来支持H5中H.264视频的播放:
    1. 使用系统自带的软解码器,需要在JavaScript中注入一个视频播放器,比如video.js,它会使用系统软解码器播放视频。
    2. 集成第三方内核,如腾讯X5内核,它自带H.264硬解支持,可以完美播放H5中的视频。
    所以如果能提供完整的错误日志,我可以给出更具体的解决方案。谢谢!
    根据您提供的错误信息“[OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010”,这显然是一个视频解码错误。
    由于Android系统自带的视频解码器不支持H5网页中的H.264格式视频,所以出现此错误。
    解决方案是:
    1. 使用系统软解码器,在JavaScript中注入一个第三方视频播放器,比如video.js,它会使用软解码器播放视频。
    2. 集成腾讯X5内核,它自带H.264硬解支持,可以完美播放H5视频。
    所以这里我会推荐使用第二种方案,集成X5内核。具体步骤如下:
    1. 访问腾讯X5官网https://x5.tencent.com/下载X5内核SDK。
    2. 将下载的SDK集成到您的项目中。
    3. 将WebView的内核切换到X5内核:
    java
    WebView webView = (WebView) findViewById(R.id.webview);
    X5WebView webView = new X5WebView(this);
    webView.setX5WebViewClient(new X5WebViewClient(this)); 
    setContentView(webView);
    4. 加载H5网页,X5内核会自动支持H.264视频的硬解和播放。
    这样就可以实现在WebView中播放H5中的H.264视频了。
    
    评论

报告相同问题?

问题事件

  • 创建了问题 6月14日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表