我正在尝试使用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];
我也尝试过以下网址的http://www.youtube.com/watch?v=HGd9qAfpZio
我也看到了参数&format = 1并尝试将其添加到两个字符串的末尾,但没有运气。
在您自己的应用程序中播放YouTube视频的唯一方法是使用Youtube中的嵌入标记创建一个UIWebView
,用于您想要播放的电影作为UIWebView's
内容。 UIWebView
将检测到嵌入对象是Youtube链接,并且Web视图的内容将是视频的youtube预览。当您的用户点击预览时,视频将显示在MPMoviePlayerController中。这是Muxecoid提供的链接(how to play youtube videos within an application)中描述的技术,这是(据我所知)在应用程序中播放YouTube视频的唯一方法。您仍然可以通过将youtube URL传递给-[UIApplication openURL:]
来启动Youtube应用程序,但当然这会关闭您自己的应用程序,这通常是不受欢迎的。
不幸的是,没有办法用MPMoviePlayerController
直接播放youtube视频,因为youtube没有公开直接链接到视频文件。
如果您使用的是代码:
- (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];
}
资源:
确保在设备上而不是在模拟器上进行测试。由于模拟器将始终显示带蓝框的问号(它没有快速播放器)。
正如我在上面的评论中所写,我必须在我正在进行的项目中这样做。我已经解决了这个问题,并在github上提交了代码。
你可以查看源码并将其分叉here。
它基本上需要一个youtube网址,并获取所有iOS兼容的视频网址。
希望这对任何帮助! 干杯
我偶然发现了一个能够在YouTube
中放置MPMoviePlayerController
视频的人。现在看来确实可行。
要播放管视频,您需要在将网址传递到MPMoviePlayer
之前提取网址。你不能直接玩它。
我的github repo有一个演示实现。
看到:
https://github.com/DpzAtMicRO/IOSYoutubePlayer
尝试一下,这样就可以直接在MPMoviePlayer
like上加载和播放youtube视频任何其他视频,也是非常好的方法。
编辑:确保在项目中使用之前完成Readme.md
它就像将iframe的src元素用于新的嵌入代码并调用一样简单
[self.webView loadRequest:[NSURLRequest requestWithURL:self.url]];
请检查以下链接。我认为它会对你有所帮助。
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html
有一种官方方式可以将Google视频嵌入到由Google提供的iOS应用程序中。
通过cocoapods安装库:pod“youtube-ios-player-helper”
import by:#import “YTPlayerView.h”
使用UIView
并将类设置为YTPlayerView
或以编程方式创建YTPlayerView
的对象。
加载视频:[self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
还有playVideo
和stopVideo
方法。欲了解更多信息,请访问this Link