5

YouTube チャンネルで YouTube 動画を再生しようとしている WebView コードがいくつかあります。ただし、ビデオにスピナー アイコンを表示するだけで、実際にビデオを開始することはありません。誰もそれを修正する方法を知っていますか?

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();
    }
}

そして、これはマニフェスト設定です:

<activity
    android:name="YoutubeActivity"
    android:label="Some string" 
    android:hardwareAccelerated="true"/>

よろしくお願いします!

4

3 に答える 3

11

WebView を使用して YouTube 動画を再生するには、Android 2.x と 4.x の機能とバグの違いにより、さまざまな Android OS バージョンで広範なテストとデバッグが必要になります。

より細かく制御できる、バグが発生しにくいアプローチは、YouTube Android Player APIを使用して YouTube 動画を独自のアプリに埋め込むことです。サンプル アプリがあるので、手順に従えばそれほど難しくはありません。

于 2013-07-16T01:57:00.327 に答える