2014-02-28 82 views
8

我的iOS應用程序在UIWebView上使用YouTube上的iframe播放器來播放嵌入模式下的任何剪輯。以下代碼是使用的HTML代碼。最近沒有在UIWebView上使用iframe播放器播放YouTube剪輯

<html> 
<head> 
    <style type="text/css">body {background-color: transparent;color: white;}</style> 
</head> 
<body style="margin:0"> 
<iframe src="http://www.youtube.com/embed/e2w8z6mI47U?playsinline=1&rel=0&showinfo=0" width="320" height="240" frameborder="0" allowfullscreen></iframe> 
</body> 
</html> 

然後,它傳遞給loadHTMLString方法。

該代碼直到最近的日期都運行良好。但是,我最近注意到我使用的每個剪輯都沒有正常播放。顯示待機視圖和播放按鈕,但儘管我按下了播放按鈕,但播放效果並不理想。只顯示黑屏。

我還沒有找到任何解決問題的方法。有沒有Youtube Iframe播放器的任何變化或我錯過的積分?

回答

7

我最終通過調用[videoView setMediaPlaybackRequiresUserAction:NO]來解決問題。
我不完全知道爲什麼這種方法可以救我。有人猜測,處理在YouTube上播放的請求發生了變化。我可以在YouTube開發者網站上找到以下更改。

2014年1月28日

的playsinline參數控制是否顯示視頻iOS上的HTML5播放器來播放在線或 全屏。將該值設置爲1將導致 內嵌播放。

選擇要播放的內容部分已更新,以說明 如何使用YouTube數據API (v3)而不是舊版API查找YouTube視頻ID和播放列表ID。

控件參數的定義已更新,以反映 的事實,即參數值僅影響Flash播放器實際在IFrame嵌入中加載的時間。另外,對於IFrame 嵌入,參數值還確定控件何時在播放器中顯示 。如果將該參數的值設置爲2,則在用戶啓動 視頻播放後,會顯示 控件顯示和Flash播放器。

我想上面的一個變化可能需要額外的信息,這些信息從客戶端傳遞到YouTube服務器以正常播放。

UPDATE:
今天,我確定了它運作良好,沒有我的解決方案。看來這個問題最近已經解決了。

+0

保存我的一天。/\ – chandu

+0

你也救了我!如果任何人發現它的工作原理,很高興看到解釋。謝謝! – benwad

+0

任何其他解決方法或替代解決方案? – Mustafa

相關問題