在android webview中,我設置了web chrome客戶端並啓用了硬件加速。在我的網頁中,我有一個html5視頻(內聯)。當播放視頻並按下主頁按鈕時,視頻不會暫停,從而導致用戶體驗不佳。如何暫停所有在webview實例上播放視頻而不破壞視頻?Android上的WebView中的HTML5內聯視頻回調
P.S.請不要發佈JS解決方案,因爲我無法訪問JS層(以及也有視頻的iframe)
在android webview中,我設置了web chrome客戶端並啓用了硬件加速。在我的網頁中,我有一個html5視頻(內聯)。當播放視頻並按下主頁按鈕時,視頻不會暫停,從而導致用戶體驗不佳。如何暫停所有在webview實例上播放視頻而不破壞視頻?Android上的WebView中的HTML5內聯視頻回調
P.S.請不要發佈JS解決方案,因爲我無法訪問JS層(以及也有視頻的iframe)
默認情況下,WebView不提供類似瀏覽器的小部件,不啓用JavaScript並忽略網頁錯誤。如果你的目標只是將一些HTML作爲你的用戶界面的一部分顯示出來,這可能是好的;除了閱讀外,用戶不需要與網頁交互,網頁也不需要與用戶交互。如果你真的想要一個全面的網絡瀏覽器,那麼你可能要調用同一個URL意圖瀏覽器應用程序,而不是用的WebView
http://developer.android.com/reference/android/webkit/WebView.html
使用此代碼
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
if (view instanceof FrameLayout){
FrameLayout frame = (FrameLayout) view;
if (frame.getFocusedChild() instanceof VideoView){
VideoView video = (VideoView) frame.getFocusedChild();
frame.removeView(video);
a.setContentView(video);
video.setOnCompletionListener(this);
video.setOnErrorListener(this);
video.start();
}`enter code here`
}
}
我已經實現了這一點。它只適用於較低的Android版本,如薑餅。 ICS上的內聯視頻無法使用此方法。謝謝 – Akshay
http://stackoverflow.com/questions/9030524/auto-playing-vimeo-videos-in-android-webview?rq=1 – sreejithmohanan
我有這個問題,現在我有一個簡單,明確的答案。這假定您的webview對象是一個活動或活動片段中的字段(成員,屬性等)。
onPause()位我在其他地方得到了stackoverflow。 onResume需要重新建立webview對視頻對象的引用。如果你沒有這樣做,如果你想再次播放視頻,那麼你最終會遇到同樣的問題。
implement onPause(){} meathod在停止播放視頻 –
也許回答「如何停止YouTube視頻在Android Web視圖中播放?」有助於? [鏈接](http://stackoverflow.com/questions/5946698/how-to-stop-youtube-video-playing-in-android-webview) – anabonne