我有一个包含youtube网址的tableview。
http://www.youtube.com/v/M67PNWvKdg0&autoplay=1
我正在尝试使用以下代码播放视频文件。我还导入了媒体框架。
Video *video = [self.fetchedResultsController objectAtIndexPath:indexPath];
NSURL *urlString=[NSURL URLWithString:video.url];
//NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
//pathForResource:@"Video1" ofType:@"mp4"]];
MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc]
initWithContentURL:urlString];
[self presentMoviePlayerViewControllerAnimated:playercontroller];
playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[playercontroller.moviePlayer play];
playercontroller = nil;
它现在做的是弹出一个电影播放器,然后立即回到我的tableview。有谁知道问题是什么?
提前致谢
答案 0 :(得分:1)
您无法通过Media Player播放YouTube视频。您只有两个解决方案:通过外部应用程序打开链接(只需打开它,iOS将运行Safari或YouTube.app,如果已安装),或者您可以使用UIWebView实现自己的视图并打开WebView内的链接。
答案 1 :(得分:1)
你在iOS 6上工作吗?我发现通过MPMoviePlayerController播放Youtube视频有困难,所以我发现this非常有用。
这只有MPMoviePlayerController ...... 这适用于版本< iOS 6也是。
答案 2 :(得分:0)
可能这个link会对你有帮助,还有一件事是视频只能在模拟器上进行设备无法测试。
答案 3 :(得分:0)
还有另一种方式,但你必须有点冒险。 您可以使用第三方rtsp框架,其中有一些。
然后你需要链接到m.youtube.com,这是Android和其他手机带给你的youtube的rtsp版本。
如果您尝试在iphone上的safari中打开此链接,该页面会重定向到h264链接。 您可以在uitableview中打开网址并更改用户代理标记。或者只是将您想要的链接复制到表格中。
现在所有YouTube视频都自动转换为h264,有一次我记得它们是rtsp页面的一个子集。
如果你有Android设备,你可以很容易地在网页浏览中访问这个页面。
在这里查看此链接。