2016-11-14 3 views
1

Ich versuche Video von Youtube mit YTplayer automatisch zu laden und laden Sie das Youtube Video mit VideoID, Ich hatte auch versucht mit LoadHTMLString in Webview. ist iOS nicht erlaubt, Youtube automatisch zu spielen?Wie man Youtube Video (ohne Benutzerinteraktion) automatisch in iOS swift

hier ist mein Code: 1) mit 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) diese webView (iframe)

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) mit Hilfe von 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) 

und auch ausprobiert mit eins:

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) 

aber immer noch Standard-Play-Taste ist da und Video nicht automatisch abspielen. kann mir jemand sagen, was ich damit falsch mache?

+0

sind Sie offiziellen youtube-ios-Spieler-Helfer mit im ersten Prozess? – Ashik

+0

mit YTplayer pod ich installierte pod in meinem Projekt –

+0

Ich habe kürzlich dies verwendet. Funktioniert super. Befolgen Sie die Dokumentation und ich hoffe, es sollte in Ordnung sein. https://developers.google.com/youtube/v3/guides/ios_youtube_helper – Ashik

Antwort

1

nach einer zu viel Surfen fand ich die Lösung:

fügen Sie einfach den Delegierten von YTPlayerViewDelegate

und seine Methode -

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

Danke, dass es für mich funktioniert –

Verwandte Themen