我开发了一个 iPhone 应用程序,它运行 MPMoviePlayer(3.2 SDK 之前的版本)没有任何问题。我知道这是一个新手问题,但如何让电影在新的 MPMoviePlayerViewController 中播放。我只收到音频并希望学习新的视图控制器。我已经将整个应用程序移植到 iPad 上,除了视频之外,其他一切都运行良好。有人可以展示一个使用电影视图控制器的示例吗?任何帮助,将不胜感激。

谢谢,

有帮助吗?

解决方案

NSURL* videoURL = [NSURL URLWithString:url];
MPMoviePlayerController   moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer prepareToPlay];
[moviePlayer play];
//For viewing partially.....
[moviePlayer.view setFrame:CGRectMake(50, 200, (self.view.frame.size.width)-100 , 400)];
moviePlayer.view.backgroundColor = [UIColor grayColor]; 
[self.view addSubview:moviePlayer.view];    

其他提示

您需要使用mpmovieplayerviewcontroller,而不是mpmovieplayercontroller。搜索文档中的MPMoviePlayerViewController。

在您的视图控制器中尝试一下:

MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
[self presentMoviePlayerViewControllerAnimated:theMoviePlayer];

这应该让您开始,但请检查MPMoviePlayerViewController类参考以获取详细信息。

我一直在努力解决这个问题 - Apple 自己的 MoviePlayer 示例代码不能播放视频,只能播放音频。事实上我花了很长时间才明白 曾是 播放音频,因为他们提供的示例飞机视频没有音轨!(所以我点击按钮却什么也没得到。)

感谢这里的所有建议。我终于找到了 https://developer.apple.com/library/ios/#qa/qa2010/qa1240.html即便如此,这也是一个晦涩难懂的解决方案。

这有效:在 [mp 释放] 之后的 initAndPlayMovie 中:

[[self.moviePlayer view] setFrame:[window bounds]];// size to fit parent view exactly
[window addSubview:[self.moviePlayer view]];

一路顺风,飞行愉快:)

更改此行:

MPMoviePlayerController  moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

你需要 *

我很确定它目前在模拟器中破裂!我得到了最新的SDK及其自己的MPMovieplayer示例代码,带有苹果自己的视频,我会得到相同的行为(没有视频,但听到音频),该视频将使用Safari在iPad Simulator中播放...因此,Safari的Simulator-ipad上的底线视频在Safari内部,但不会从中使用mpmovieplayer类的应用程序。错误或功能,您决定。 (我认为它只是打破了)。此版本的发行说明在mpmovieplayer类中进行了许多更改...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top