使用iOS 11在WKWebView中自动播放YouTube视频

Ond*_*dra 6 youtube ios swift wkwebview

我想在我的应用中安装小型YouTube播放器。我发现推荐的唯一方法是将带有YouTube播放器的网页嵌入到我的应用中。因此,我使用WKWebView并使用autoplay参数加载了嵌入YouTube播放器页面:https://www.youtube.com/embed/VUbsFtLkGN8?autoplay=1

代码如下:

let webConfiguration = WKWebViewConfiguration()
let webView = WKWebView(frame: .zero, configuration: webConfiguration)
let youtubeURL = URL(string: "https://www.youtube.com/embed/VUbsFtLkGN8?autoplay=1")
webView.load(URLRequest(url: youtubeURL!))
Run Code Online (Sandbox Code Playgroud)

此嵌入的播放器URL在桌面Safari中自动播放,但在移动Safari或WKWebView中不自动播放。我可以强迫WKWebView以某种方式自动播放视频吗?还是使用其他YouTube播放器网址?

Pra*_*ati -2

var youTubeVideoHTML: String = "<!DOCTYPE html><html><head><style>body{margin:0px 0px 0px 0px;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = \"http://www.youtube.com/player_api\"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { width:'%0.0f', height:'%0.0f', videoId:'%@', events: { 'onReady': onPlayerReady, } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>"

func playVideoWithId(videoId: String) {
  var html: String = String(format: youTubeVideoHTML, self.frame.size.width, self.frame.size.height, videoId)


}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用替代方案

YTPlayer 用于播放 Youtube 视频

  • YTPlayer 库似乎不再维护了。 (2认同)