jmu*_*phy 89 youtube video streaming mpmovieplayercontroller ios
我正在尝试使用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并尝试将其添加到两个字符串的末尾,但没有运气.
Bry*_*nry 78
在您自己的应用程序中播放YouTube视频的唯一方法是UIWebView使用Youtube中的embed标签创建一个您想要作为UIWebView's内容播放的电影.UIWebView将检测到嵌入的对象是Youtube链接,并且Web视图的内容将是视频的youtube预览.当您的用户点击预览时,视频将显示在MPMoviePlayerController中.这是Muxecoid提供的链接(如何在应用程序中播放youtube视频)中描述的技术,这是(据我所知)在应用程序中播放YouTube视频的唯一方法.您仍然可以通过传递youtube URL来启动Youtube应用程序-[UIApplication openURL:],但当然这会关闭您自己的应用程序,这通常是不受欢迎的.
不幸的是,MPMoviePlayerController由于youtube没有公开直接链接到视频文件,因此无法直接播放youtube视频.
小智 26
如果您使用的是代码:
- (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];
}
Run Code Online (Sandbox Code Playgroud)
资源:
确保在设备上而不是在模拟器上进行测试.由于模拟器将始终显示带蓝框的问号(它没有快速播放器).
| 归档时间: |
|
| 查看次数: |
76141 次 |
| 最近记录: |