如何在不在Web视图中暂停播放的情况下停止播放YouTube嵌入式视频?

时间:2016-01-20 20:43:39

标签: ios swift youtube uiwebview youtube-api

我在UIWebView中嵌入了YouTube视频。它打得很好。但是,当我在不停顿视频的情况下切换到不同的视图控制器时,它会继续播放音频。我该如何阻止它?

代码:

func loadYouTubeVideo() {

    let youTubeLink: String = "https://www.youtube.com/embed/ac_om5HCjvg"
    let width = 300
    let height = 200
    let frame = 50
    let html:NSString = "<iframe width=\(width) height=\(height) src=\(youTubeLink) frameborder=\(frame) allowfullscreen></iframe>"
    self.youTubeWebView.loadHTMLString(html as String, baseURL: nil)

}

我需要一个Swift的答案。我尝试过使用Objective-C,但除非我做错了,否则它不会翻译:

 let script = "var videos = document.querySelectorAll(\"video\"); for (var i = videos.length - 1; i >= 0; i--) { videos[i].pause(); };"
 youTubeWebView.stringByEvaluatingJavaScriptFromString(script)

3 个答案:

答案 0 :(得分:3)

试试这个

  override func viewWillDisappear(animated: Bool) {
        webView.loadHTMLString(nil, baseURL: nil)
    }

让我知道它是否有效

答案 1 :(得分:2)

如果您不关心用户在离开视图后从头开始恢复视频,请将webview加载一个空页:

webView.loadHTMLString("<html><head></head><body></body></html>", baseURL: nil)

如果您这样做,则必须在viewWillAppear

中重新加载视频

答案 2 :(得分:0)

我使用以下内容来停止我的音频:

webView.loadHTMLString("", baseURL: nil)