2017-06-29 150 views
0

我有一個WKWebView播放HTML5視頻。當我點擊主頁按鈕並且應用程序進入後臺時,我仍然可以聽到播放的音頻。如何暫停HTML 5視頻以停止播放背景音頻。我嘗試了加載一個空白頁時,應用程序進入背景,工作,WKWebView停止音頻時,後臺應用程序

let url = URL(string: "about:blank") 
let request = URLRequest(url:url!) 
self.webView.load(request) 

,但我希望能夠在相同的點開始播放視頻時,從後臺用戶返回,所以它不是一個可行的解決方案因爲它只是在打開應用程序時加載空白頁面。

+0

嘗試注入的JavaScript代碼到WKWebView當它轉到後臺。 – the4kman

+1

@ the4kman謝謝!爲我工作。在下面發佈我的答案 – kittels

回答

1

我可以通過在應用程序進入後臺暫停正在播放的任何視頻元素時注入JavaScript來實現此目的。

NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationDidEnterBackground, object: nil, queue: nil, using: enteredBackground) 

func enteredBackground(notification: Notification) { 
    let script = "var vids = document.getElementsByTagName('video'); for(var i = 0; i < vids.length; i++){vids.item(i).pause()}" 
    self.webView.evaluateJavaScript(script, completionHandler:nil) 
} 
相關問題