2013-04-11 189 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

相关问题