Android - WebView无法播放YouTube视频

Gen*_*nik 5 android webview android-webview

我有一些WebView代码,我试图在YouTube频道上播放YouTube视频.但它所做的只是在视频上显示微调器图标,而不是实际启动视频.谁会知道如何解决这个问题?

public class YoutubeActivity extends Activity
{
    WebView webview = null;

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);   

        webview = new WebView(this);
        webview.getSettings().setAppCacheEnabled(false);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setInitialScale(1);
        webview.getSettings().setPluginState(PluginState.ON);

        webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });


        WebSettings webSettings = webview.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setBuiltInZoomControls(true);
        //webSettings.getMediaPlaybackRequiresUserGesture();
        webSettings.setAllowContentAccess(true);
        webSettings.setEnableSmoothTransition(true);
        webSettings.setLoadsImagesAutomatically(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setSupportZoom(true);
        webSettings.setUseWideViewPort(true);

        setContentView(webview);
        webview.loadUrl("http://www.youtube.com/g33ktalktv");           
    }

    public void onBackPressed ( )
    {
        //Class.forName("com.***.HTML5WebView").getMethod("onPause", (Class[]) null).
        //invoke(html5WebView, (Object[]) null);
        webview.clearView();
    } 

    @Override
    public void onStop()
    {
       super.onStop();
       // your code

       webview.clearView();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是明显的设置:

<activity
    android:name="YoutubeActivity"
    android:label="Some string" 
    android:hardwareAccelerated="true"/>
Run Code Online (Sandbox Code Playgroud)

提前谢谢!

Kai*_*Kai 11

由于Android 2.x和4.x之间的功能和错误不同,使用WebView播放YouTube视频需要在不同的Android OS版本上进行大量测试和调试.

一种不易出错的方法可让您更好地控制,即使用YouTube Android Player API将YouTube视频嵌入到您自己的应用中,他们拥有示例应用,因此如果您按照他们的步骤进行操作就不会太困难.