在目标C中从网址播放YouTube电影

时间:2012-10-08 07:23:28

标签: objective-c ios uitableview video

我有一个包含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。有谁知道问题是什么?

提前致谢

4 个答案:

答案 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设备,你可以很容易地在网页浏览中访问这个页面。

在这里查看此链接。

http://streammore-tv.tumblr.com/post/34794206547/welcome