android webview播放視訊
阿新 • • 發佈:2019-01-27
Android WebView播放視訊問題(轉 測試可正常使用)
1、此次的方案用到WebView,而且其中會有視訊巢狀,在預設的WebView中直接播放視訊會有問題,
而且不同的SDK版本情況還不一樣,網上搜索了下解決方案,在此記錄下.
webView.getSettings.setPluginState(PluginState.ON);
webView.setWebChromeClient(new WebChromeClient());
2、然後在webView的Activity配置裡面加上:
android:hardwareAccelerated="true"
3、以上可以正常播放視訊了,但是webview的頁面都finish了居然還能聽 到視訊播放的聲音,
於是又查了下發現webview的 onResume方法可以繼續播放,onPause可以暫停播放,
但是這兩個方法都是在Added in API level 11新增的,所以需要用反射來完成。
4、停止播放:在頁面的onPause方法中使用:
webView.getClass().getMethod("onPause").invoke(webView, (Object[])null);
5、繼續播放:在頁面的onResume方法中使用:
webView.getClass().getMethod("onResume").invoke(webView,(Object[])null);
這樣就可以控制視訊的暫停和繼續播放了。
1、此次的方案用到WebView,而且其中會有視訊巢狀,在預設的WebView中直接播放視訊會有問題,
而且不同的SDK版本情況還不一樣,網上搜索了下解決方案,在此記錄下.
webView.getSettings.setPluginState(PluginState.ON);
webView.setWebChromeClient(new WebChromeClient());
2、然後在webView的Activity配置裡面加上:
android:hardwareAccelerated="true"
3、以上可以正常播放視訊了,但是webview的頁面都finish了居然還能聽 到視訊播放的聲音,
於是又查了下發現webview的 onResume方法可以繼續播放,onPause可以暫停播放,
但是這兩個方法都是在Added in API level 11新增的,所以需要用反射來完成。
4、停止播放:在頁面的onPause方法中使用:
webView.getClass().getMethod("onPause").invoke(webView, (Object[])null);
5、繼續播放:在頁面的onResume方法中使用:
webView.getClass().getMethod("onResume").invoke(webView,(Object[])null);
這樣就可以控制視訊的暫停和繼續播放了。