WebView和HTML5;视频; [英] WebView and HTML5 <video>

查看:25
本文介绍了WebView和HTML5;视频;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在拼凑一个廉价的应用程序,除了其他东西外,它还可以"框住"我们的一些网站……使用WebViewClient非常简单。直到我点击了视频。

视频是作为HTML5元素制作的,这些元素在Chrome、iPhone上运行得很好,现在我们修复了编码问题,它在本机浏览器Android上运行得很好。

现在摩擦:WebView不喜欢它。完全没有。我可以点击海报图像,但没有任何反应。

搜索,我发现this很接近,但似乎基于一个‘链接’(如在href中...)而不是视频元素。(在视频元素上似乎没有调用onDownloadListener...)

我也看到了对覆盖onShowCustomView的引用,但在视频元素上似乎没有调用...也不应该覆盖UrlLoading..

我宁可不谈"从服务器提取XML,在应用程序中重新格式化它"。通过将故事布局保留在服务器上,我可以更好地控制内容,而不会强迫人们不断更新应用程序。因此,如果我能说服WebView像处理本机浏览器一样处理标记,那将是最好的。

我显然漏掉了一些明显的东西。但我不知道是什么。

推荐答案

我回答此主题只是为了防止有人阅读并对结果感兴趣。 在WebView中查看视频元素(视频HTML5标签)是可能的,但我必须说我不得不处理它几天。到目前为止,我必须遵循以下步骤:

-查找正确编码的视频

-在初始化WebView时,设置WebViewClient和WebChromeClient的JavaScript、插件。

url = new String("http://broken-links.com/tests/video/"); 
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebChromeClient(chromeClient);
mWebView.setWebViewClient(wvClient);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.loadUrl(url);

-处理WebChromeClient对象中的onShowCustomView。

@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
    super.onShowCustomView(view, callback);
    if (view instanceof FrameLayout){
        FrameLayout frame = (FrameLayout) view;
        if (frame.getFocusedChild() instanceof VideoView){
            VideoView video = (VideoView) frame.getFocusedChild();
            frame.removeView(video);
            a.setContentView(video);
            video.setOnCompletionListener(this);
            video.setOnErrorListener(this);
            video.start();
        }
    }
}

-处理视频的onCompletion和onError事件,以便返回Web视图。

public void onCompletion(MediaPlayer mp) {
    Log.d(TAG, "Video completo");
    a.setContentView(R.layout.main);
    WebView wb = (WebView) a.findViewById(R.id.webview);
    a.initWebView();
}

但现在我应该说还有一个重要的问题。我只能玩一次。第二次单击视频调度器(海报或某个播放按钮)时,它什么也不起作用。

我还希望在WebView框架内播放视频,而不是打开媒体播放器窗口,但这对我来说是次要问题。

我希望这对某些人有帮助,我也感谢任何意见或建议。

您好!

这篇关于WebView和HTML5;视频;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆