2017-11-25 400 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

相關問題