2016-11-14 10 views
1

私はYTplayerを使ってyoutubeのビデオを自動再生しようとしています。VideoID、 私はまた、WebviewでloadHTMLStringを使ってみました。 はiOSでYouTubeを自動再生できないのですか?ここiOSスウィフトでyoutubeビデオを自動再生する方法

は私のコードです:1)HTML

let youTubeVideoHTML :NSString = "<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:'200', height:'204', videoId:'8LVN7WVgx0c', events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>"; 
    yutub_webview.loadHTMLString(youTubeVideoHTML as String,baseURL:nil) 

を使用してのWebView(インラインフレーム)

let vidurl = "https://www.youtube.com/embed/LG-_Dz6nseQ" 
yutub_webview.loadHTMLString("<iframe width=\"\(yutub_webview.frame.size.width)\" hight=\"\(yutub_webview.frame.size.height)\" src=\"\(vidurl)?playsinline=1\" frameborder=\"0\" allowfullscreen & autoplay=1 &showinfo=0 &controls=0 autohide=1></iframe>", baseURL: nil) 

3)を使用してYTPlayerを

let fullNameArr = video_url!.componentsSeparatedByString("=") 
let video: String = fullNameArr[1] 
enYTplayer.webView?.mediaPlaybackRequiresUserAction = false 
YTplayer.webView?.allowsInlineMediaPlayback = true 
YTplayer.loadWithVideoId(video) 
YTplayer.playVideo() 

2)を使用しても、これを試してみました1:

yutub_webview.loadHTMLString("<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='300' height='200' src='http://www.youtube.com/embed/LG-_Dz6nseQ? enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'></body></html>",baseURL: NSBundle.mainBundle().bundleURL) 

まだデフォルトの再生ボタンがあり、ビデオは自動再生されません。 私はこれらについて間違っていることを教えてくれる人がいますか?

+0

を、あなたは、公式ユーチューブ-IOS-プレーヤーヘルパーを使用しています最初のプロセスで? – Ashik

+0

YTplayerポッドを使用して私のプロジェクトにポッドをインストール –

+0

私は最近これを使用しました。よく働く。ドキュメントに従ってください。私はそれが大丈夫になるはずです。 https://developers.google.com/youtube/v3/guides/ios_youtube_helper – Ashik

答えて

1

は、あまりにも多くのサーフィンの後、私は解決策を見つけた:

だけYTPlayerViewDelegate

の代理人を追加し、そのメソッドを使用 -

func playerViewDidBecomeReady(playerView: YTPlayerView) { 
    YTplayer.playVideo() 
} 
+0

私のために働いてくれてありがとう –

関連する問題