使用mediaplayercontroller播放视频

时间:2014-03-04 21:35:38

标签: ios objective-c mpmediaplayercontroller

我正在尝试制作一个玩家,从桌面视图获取网址(尚未完成)。 我开始尝试使用MPMediaPlayerController让播放器工作。

NSString *video = [NSString stringWithFormat:@"http://www.youtube.com/watch?v=GurkREc-q4I"];

    NSURL *url = [NSURL URLWithString:video];

    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc]initWithContentURL:url];

    [moviePlayerController.view setFrame:[self.view frame]];

    [self.view addSubview:moviePlayerController];
    [moviePlayerController setShouldAutoplay:YES];
    [moviePlayerController prepareToPlay];
    moviePlayerController.fullscreen = YES;
    [moviePlayerController play];

当我尝试将moviePLayer添加为子视图时,我收到此警告:不兼容的指针类型将'MPMoviePlayerController *'发送到'UIView *'类型的参数。

此外,当我打开视图时,应用程序关闭,在控制台中我们有:

  

2014-03-04 18:26:50.696 FavVideos [6181:70b] - [MPMoviePlayerController   superview]:无法识别的选择器发送到实例0xa63c470   2014-03-04 18:26:50.735 FavVideos [6181:70b] * 终止应用程序   未捕获的异常'NSInvalidArgumentException',原因:   ' - [MPMoviePlayerController superview]:发送到无法识别的选择器   实例0xa63c470'

关于我做错了什么的想法?

谢谢你。

编辑:

好的,我看到了我在做什么来得到错误和“崩溃”。

下面:

[self.view addSubview:moviePlayerController];

我改为:

[self.view addSubview:moviePlayerController.view];

不再有警告或崩溃。 但玩家只是一个黑屏,任何想法?

1 个答案:

答案 0 :(得分:1)

它为空的原因是该文件需要是受支持的格式。合适的格式列表可以在Apple文档Suitable Formats中找到,即MPEG,H.264等。

目前你要求MPMoviePlayer播放一个网址,不过这是指向带有电影的youtube网页的网址。网址必须是实际的电影文件。

您可以播放此视频的方式YouTube视频可以将视图打开为webview,定向到此YouTube页面,或者阅读Google documentation以使用他们的API在应用内播放。

我希望这有帮助,

干杯,吉姆。