我正在尝试使用MPMoviePlayerController传输一些youTube视频,但我遇到了一些问题.我正在使用的代码非常简单,我可以通过将URL传递给initWithContentURL来播放.m4v视频.当我启动电影播放器时,播放器出现但在大约20秒后消失.当我在模拟器中尝试它时,我得到一个警告视图,说明服务器配置不正确.我是否需要通过URL传递来自谷歌的特定类型的视频源?
NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer play];
Run Code Online (Sandbox Code Playgroud)
我还尝试了以下网址 http://www.youtube.com/watch?v=HGd9qAfpZio
我也看到了参数&format = 1并尝试将其添加到两个字符串的末尾,但没有运气.
我有UITableView完整的YouTube视频缩略图,当他们点击其中一个时,我想自动开始全屏播放YouTube视频而无需用户看到添加的视图或进行任何进一步的互动,而不是点击缩略图.
基本上,我根本不想看到带有红色播放图标的YouTube视频播放器.
我打算用youtube-ios-player-helper/YTPlayerView来完成这个,我明白它只是雇用了一个,UIWebView但我似乎无法弄清楚如何让它工作.
如果我在我的类上创建一个实例变量,请将自己设置为委托并选择一个随机视频进行观察:
let YouTubePlayer = YTPlayerView()
override func viewDidLoad() {
super.viewDidLoad()
YouTubePlayer.delegate = self
YouTubePlayer.loadWithVideoId("apKJikXWU2g")
...
}
Run Code Online (Sandbox Code Playgroud)
然后当调用委托方法时:
func playerViewDidBecomeReady(playerView: YTPlayerView!) {
YouTubePlayer.playVideo()
}
Run Code Online (Sandbox Code Playgroud)
但大部分时间它都会在我的AppDelegate中崩溃并显示以下消息:
11月23日23:34:44 rtcreporting [73827]:伐木开始......
11月23日23:34:44 rtcreporting [73827]:setMessageLoggingBlock:调用
或者如果我禁用断点但它会在视频播放之前获得大量的自动布局约束投诉消息,它将起作用,表明某些事情在某种程度上是生气.
这是因为我在使用UIView子类而没有将其实际添加到视图层次结构中吗?
如何在某个事件发生之后完成自动播放YouTube视频的行为,而不会泄露出愚蠢的中间视图?