問題:開發(fā)中使用webview播放視頻愈腾,當視頻播放到中間的時候?然后退出點擊按鈕退出webview,視頻繼續(xù)播放岂津,如何處理虱黄?
解決辦法:1. 讓webview調用一個about:blank的url。就可以停止視頻播放吮成。
//或者點擊pop 方法中調用
- (void) viewDidDisappear:(BOOL)animated
{
NLog(@"媒體打開窗口被隱藏"); [webViewer loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
}
可以自行測試橱乱,打開網頁看視頻,中途退出彈出webview赁豆,視頻可以停止播放仅醇。
NOTE: about:blank 打開應該空白網頁。
2.頁面退出的時候魔种,直接暫停播放析二,調用js代碼。
//暫停視頻播放
[self.webView stringByEvaluatingJavaScriptFromString:
@"var videos = document.getElementsByTagName('video');\
for(var i = 0; i < videos.length;i++) {\
videos[i].pause();\
}"];
//暫停音頻播放
[self.webView stringByEvaluatingJavaScriptFromString:
@"var audios = document.getElementsByTagName('audio');\
for(int i = 0; i < audios.lenght;i++) {\
audios[i].pause();\
}"];
NOTE:獲取對應標簽數組元素的字符串节预,如 [object HTMLVideoElement]視頻標簽<video/>
NSString *jsString = @"document.getElementsByTagName('video')[0].toString()"叶摄;
使用建議:
1.到底使用哪個,如果你需要在當前網頁播放音視頻安拟,同時又可以跳到其他頁面(非返回)蛤吓,可以在當前網頁退出時,暫停音視頻播放糠赦,而不是打開應該空白頁面会傲。
2.當webView.allowsInlineMediaPlayback = NO;打開一個新的頁面播放視頻锅棕,代碼內部調用了pop方法,如果也需要此刻退出視頻淌山,可以通過about:blank
關閉當前視頻裸燎。