2017-12-12 8 views
0

AndroidのWebViewでYouTubeを再生するためのコードがあります。 これは新しい携帯電話(Android 4.4,5.1,6,7 OS)でもうまくいきますが、Android 4.0.3で試してみると、コントロール付きのYouTubeフレームが開き、midleのボタンをクリックすると灰色の背景がすべて表示されます時間。Androidで再生していないiframeが埋め込まれたYouTubeビデオ4.0.3

コード:

private void initializeWebView() {  

    WebView webView = (WebView) findViewById(R.id.webView); 

    //webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 
    webView.setBackgroundColor(getResources().getColor(R.color.semi_transparent_black_20percentage)); 
    webView.getSettings().setBuiltInZoomControls(true); 
    //webView.getSettings().setDisplayZoomControls(false); 

    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 
    }); 
    WebSettings webSetting = webView.getSettings(); 
    webSetting.setJavaScriptEnabled(true); 
    webSetting.setDisplayZoomControls(false); 

    //webSetting.setLoadWithOverviewMode(true); 
    //webSetting.setUseWideViewPort(true); 
    int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); 
    webView.setLayoutParams(new RelativeLayout.LayoutParams(screenWidth/2, LayoutParams.MATCH_PARENT)); 
    getWindow().setFlags(
      WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, 
      WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
    webSetting.setJavaScriptEnabled(true); 
    webSetting.setBuiltInZoomControls(true); 
    webSetting.setAllowContentAccess(true); 
    webSetting.setEnableSmoothTransition(true); 
    webSetting.setLoadsImagesAutomatically(true); 
    webSetting.setLoadWithOverviewMode(true); 
    webSetting.setSupportZoom(false); 
    webSetting.setUseWideViewPort(true); 
    webSetting.setAppCacheEnabled(true); 
    webSetting.setSupportMultipleWindows(true); 

    webView.setVisibility(View.VISIBLE); 
} 



public void loadPageIntoWebView(String htmlFilename){ 

    AssetManager mgr = getBaseContext().getAssets(); 
    try { 
     String htmlContentInStringFormat = ""; 
     WebView webView = (WebView) findViewById(R.id.webView); 
     String frameVideo = "<body>Video From YouTube<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/2a7f29Jvihc?wmode=transparent\" frameborder=\"0\" allowtransparency></iframe></body>"; 
     htmlContentInStringFormat = frameVideo; 
     webView.loadDataWithBaseURL(null, htmlContentInStringFormat, "text/html", "utf-8", null); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    }  
} 

このコードがうまく機能し、新しい携帯電話(AndroidのOS4.4-7)上でYouTubeの動画を再生しています。

Android 4.0.3でも動作するように変更する必要はありますか?

this is the photo showing the gray background without playing youtubevideo after clicking on the button play inthe middle of the screen:

答えて

0

解決済み!

は、私はそれは、Android 4.0.3で動作し、次の行を追加した後aswell:

webView.setWebChromeClient(new WebChromeClient() {}); 

これは必須ではありませんが、私は、この行の前の行を追加: webView.setWebViewClient(新WebViewClient()

をこのソリューションは、エプソンMoverio BT-200スマートメガネなどと協力し、他の同僚を助けること

希望

;-)

関連する問題