Android Webview中解決H5的音視訊不能自動播放、只有聲音沒有影象的問題
阿新 • • 發佈:2019-01-05
開發webview的時候,當載入有聲音的H5的時候,聲音不會自動播放,必須手動觸控一下螢幕,聲音才會播放出來,雖然在H5檔案中設定了autoplay屬性,也呼叫了play方法,依然不能自動播放,最後通過在webview中呼叫js方法來解決。
程式碼如下:
view.loadUrl("javascript:(function() { " + "var videos = document.getElementsByTagName('video');" + " for(var i=0;i<videos.length;i++){videos[i].play();}})()");
注意這個方法需要在webview的onPageFinished回撥中執行呼叫。
使用Android自帶的Webview載入帶有視訊的網頁,出現視訊只有聲音沒有影象的問題,究其原因,需要對webview新增硬體加速,只要對webview新增即可,程式碼如下
mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
不對webview所在的activity新增也是可以的。
- Android使用WebView瀏覽有聲音或者視訊的網頁,關閉WebView之後,聲音或者視訊不停止的解決辦法
解決辦法如下:
m_WebView為Activity中的WebView控制元件。@Override protected void onPause () { m_WebView.reload (); super.onPause (); }