Youtube视频无法开始在webView Android中播放

时间:2011-08-26 11:38:48

标签: android webview youtube

我需要在自定义对话框中的webView中显示。 无论如何,我可以加载youtube网站,并导航视频,但当我想播放一些视频时,当我点击播放时没有任何反应。视频只是选择橙色闪光,但不开始加载和播放。问题是什么?

我在网上找到了教程,并尝试修改它。这是代码:

    dialog = new Dialog(this);
    dialog.setContentView(R.layout.dialog);

    pd = (ProgressBar) dialog.findViewById(R.id.web_view_progress_bar);

    webview = (WebView) dialog.findViewById(R.id.web_view);

    webview.getSettings().setPluginState(PluginState.ON);
    webview.getSettings().setJavaScriptEnabled(true);

    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
            if (progress < 100 && pd.getVisibility() == ProgressBar.GONE) {
                pd.setVisibility(ProgressBar.VISIBLE);
            }
            pd.setProgress(progress);
            if (progress == 100) {
                pd.setVisibility(ProgressBar.GONE);
            }
        }
    });

    webview.setWebViewClient(new YoutubeWebViewClient());
    //shouldOverrideUrlLoading(webview, this.getUrl());
    webview.loadUrl(this.getUrl());

    dialog.show();

}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) {
        webview.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


private class YoutubeWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

帮助?

更新:

我已尝试以其他方式做到这一点,但又出现了问题......

我想在webView中嵌入youtube html5播放器。我只是在没有youtube视频的情况下回到现场。在webView的右上角是youtube标志,就是这一切。没有Android手机,在Android x86平台上测试应用程序。这是一个问题吗?

帮助:)不关心实现的方式,我只需要这个工作^^

2 个答案:

答案 0 :(得分:0)

我不知道为什么但是webviewclient类导致问题,我们可以在默认浏览器中运行它删除webviewclient类并且模拟加载youtube的url你将能够在2.2 for 2.1上运行它只需使用intent并通过parse方法通过youtube应用程序打开它

startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(String.format(“http://www.youtube.com/v/%s”)))); }

答案 1 :(得分:0)

就我现在发现的情况而言,这是android webview中的一种错误,对于我来说,简单地在manifest中添加了Hardware Accleration权限。在我的webview中嵌入的视频开始播放之后。