2012-04-30 89 views
5

我在這個論壇裏發現了很多關於嵌入YouTube視頻和自動播放的問題,但是他們都沒有清除我所有的疑惑。在UIWebview裏面的Youtube視頻自動播放

我發現兩種方法嵌入YouTube視頻中的UIWebView

1)

NSString *youTubeHTMLTemplate = @"<html><head><style type=\"text/css\">body { background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight]; 

2)

NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID]; 

如果我使用(1)方法,並按照該方法給出here我視頻自動播放。想法是在UIWebView中找到按鈕並向其發送觸摸事件。

如果我使用(2)並遵循相同的方法,視頻不會自動播放。

我認爲推薦使用(2)方法,因爲(1)僅適用於Flash視頻(右圖)。

無論如何(2)有可能嗎?這link說沒有。

任何人都可以證實

  • 如果我是正確的,(2)建議
  • 自動播放與(2)是不可能的。
+0

「如果我使用(1)方法,並遵循這裏給出的方法」..你鏈接到的問題,而不是在該頁面上的具體答案..有10個答案..你可以請鏈接到具體回答你的想法? – abbood

+0

對不起@abbood,但不介意我鏈接的方法將不再適用於iOS> 5(或6)。使用YouTube的JS API。 – msk

+0

嗡嗡聲..我希望有一個更通用的解決方案..例如我鏈接到livestream Flash視頻,我希望它立即播放,只要用戶加載包含web視圖和livestream視頻代碼的viewController ..我想我正在尋找的是自動用戶點擊播放按鈕..但後來我再也不知道如果蘋果會接受這樣的代碼 – abbood

回答

3

問:如果我是正確的,(2)建議

答:是的(2)方法適用於不支持Flash的智能設備。

Q.使用(2)自動播放是不可能的。答:

答:目前沒有自動播放功能是不可能的。

更新:我能夠通過使用YouTube JS API的看到https://developers.google.com/youtube/js_api_reference

自動播放YouTube視頻剛剛從onPlayerReady調用的playVideo

function onPlayerReady(event) { 
       event.target.playVideo();      
      } 
+0

你如何從UIWebView中調用? – shim

+0

@MSK它不適用於我無法自動播放。 –

-1

您也可以使用這一招從SAURABH瓦德瓦Answer是火endActionsForControlEvents:UIControlEventTouchUpInside後的UIWebView完成下載

+1

請仔細閱讀我的問題,我已經試過了。 – msk

0

自動播放,可以通過發出:

webView.mediaPlaybackRequiresUserAction=FALSE; 
+0

這是舊的線程,但我記得設置mediaPlaybackRequiresUserAction = NO單獨不幫助我。我上面更新了我的答案,我可以自動播放YouTube視頻。 – msk

+0

這隻適用於iOS6 +。 –

+0

哦,可能是因爲上次我在iOS5上嘗試過它沒有工作。儘管我的答案中的方法適用於iOS> = 5。 – msk

3

我通過添加以下代碼解決了問題:

webview.mediaPlaybackRequiresUserAction=NO; 
webview.allowsInlineMediaPlayback=YES; 
相關問題