我试图使用youTube播放一些MPMoviePlayerController视频,但我遇到了一些问题。我使用的代码非常简单,我可以通过将一个URL传递给.m4v来播放initWithContentURL视频。当我启动电影播放器时,播放器出现了,但大约20秒后就离开了。当我在模拟器中尝试时,我会得到一个警告视图,显示服务器配置不正确。为了从google获得特定类型的视频提要,我需要通过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];我还尝试了以下URL的http://www.youtube.com/watch?v=HGd9qAfpZio
我也看到了论点&format=1,并试图将其添加到两个字符串的末尾,但没有运气。
发布于 2009-11-23 05:06:38
在你自己的应用程序中有一个youtube视频播放的唯一方法是创建一个带有来自Youtube的嵌入标记的UIWebView,用于你想要播放的作为UIWebView's内容的电影。UIWebView将检测到嵌入的对象是Youtube链接,而web视图的内容将是视频的youtube预览。当用户单击预览时,视频将在MPMoviePlayerController中显示。这是Muxecoid提供的链接(如何在应用程序中播放youtube视频)中描述的技术,据我所知,这是在应用程序中播放youtube视频的唯一方法。您仍然可以通过将Youtube URL传递给-[UIApplication openURL:]来启动youtube应用程序,但这当然会关闭您自己的应用程序,这通常是不可取的。
不幸的是,没有办法直接播放youtube视频与MPMoviePlayerController,因为youtube不公开与视频文件的直接链接。
发布于 2010-07-13 21:33:08
如果您正在使用代码:
- (void)embedYouTube:(NSString*)url frame:(CGRect)frame {
NSString* embedHTML = @"\
<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>";
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height];
if(videoView == nil) {
videoView = [[UIWebView alloc] initWithFrame:frame];
[self.view addSubview:videoView];
}
[videoView loadHTMLString:html baseURL:nil];
}来源:
只需参考这个链接
请确保在设备上测试,而不是在模拟器上测试。因为模拟器总是用蓝色框显示问号(它没有快速时间播放器)。
发布于 2012-06-08 11:42:12
正如我在上面的评论中所写的那样,我不得不在我正在做的一个项目中这样做。我已经解决了这个问题,并在github上提交了代码。
您可以检查源并将其分叉为这里。
它基本上需要一个youtube url,并获取所有iOS兼容的视频url。
希望这对你有什么帮助!
干杯
https://stackoverflow.com/questions/1779511
复制相似问题