2013-04-11 237 views
1

AVFoundation允許開發人員創建自定義視頻播放器,而不是使用Apple自己的全屏MPMoviePlayer。使用AVFoundation在自定義播放器中播放YouTube視頻

在我的項目中,我使用這種方法實現了接近YouTube iOS應用程序的功能,即在播放回放的頂部顯示「畫布」視圖,以及多個控件和文本標籤底部:

A very skilled Jedi

如你所知,YouTube網址「點」到HTML數據,並且是指將一個UIWebView內使用。點擊這個UIWebView內部的縮略圖會產生一個全屏播放器,這正是我想要避免的。

我想知道YouTube API是否提供指向實際視頻(mp4文件)的URL,以便我可以沿着AVFoundation使用它。

我想找到一個合法的方式來做到這一點,所以它應該明確地遵守Apple和Google的服務條款。

感謝,

+0

您應該查看https://github.com/hellozimi/HCYoutubeParser,看看他們在做什麼,但我不確定它是否符合他們的服務條款 – 2013-04-11 14:57:04

+0

謝謝!我會檢查出來的。我正在尋找一種合法的方式來實現這一點,希望有一個。 – 2013-04-11 14:59:06

+0

一定要檢查一下,我只聽說過關於TOS - 從未自己研究過它 – 2013-04-11 15:01:15

回答

2

實現這一目標最簡單的方法是將覆蓋UIView的,這您可以放置​​在屏幕的任何部分。並將其放在UIWebView的頂部,並將其設置爲不響應用戶交互。由於您可以更改大小和位置並使其透明,因此您可以有效地選擇想要的用戶交互以及不想要的用戶交互。而且你不會以任何方式混淆你的YouTube ToS。

+0

我並不完全確定,但我認爲播放該視頻總是會導致應用觸發全屏模式播放器,對不對? – 2013-04-11 18:51:39

+0

看着UIWebView參考我發現這個屬性: @property(nonatommic)allowInlineMediaPlayback 這可能會伎倆。 – 2013-04-11 19:15:29

+0

似乎要讓它以這種方式工作,您需要製作原生HTML5頁面並在UIWebView中顯示該頁面。可能爲什麼這個功能在iPhone中被禁用,而不是iPad是小屏幕。 在iPad上,允許InlineMediaPlayback設置爲YES,並且在iPod/iPhone上沒有。 – 2013-04-12 07:30:01