2017-11-25 227 views
1

我想在我的应用中使用小型YouTube播放器。我发现推荐的唯一方法是将带有YouTube播放器的网页嵌入到我的应用程序中。所以我用WKWebView并加载嵌入YouTube播放器页面自动播放参数:https://www.youtube.com/embed/VUbsFtLkGN8?autoplay=1使用iOS在WKWebView中自动播放YouTube视频11

代码将是这样的:在桌面Safari浏览器

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!)) 

这个嵌入播放器自动播放的网址,但在移动Safari或WKWebView不会自动播放。我可以强制WKWebView以某种方式自动播放视频吗?或者使用其他YouTube播放器网址?

+0

并不在视频的苹果阻止自动播放? –

+0

是的,在Safari中,但我认为你应该可以在你的应用中自动播放。 – Ondra

回答

0
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) 


} 

或替代的,你可以使用

YTPlayer For Playing Youtube Video

+0

它不是完整的代码,也不会自动播放。 – Ondra

+0

YTPlayer库似乎不再被维护。 – Ondra

相关问题