我有一个名为videoPlayerViewController的UIViewController子类。 在故事板中,我拖出了一个UIViewController。我在Storyboard中正确设置了类。 我在屏幕上放了一个按钮。当我单击按钮时,它执行playVideo方法:。
- (IBAction)playVideo:(id)sender
{
NSURL *movieURL = [NSURL URLWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.mov"];
MPMoviePlayerController *player =
[[MPMoviePlayerController alloc] initWithContentURL: movieURL];
[player prepareToPlay];
[player.view setFrame: self.view.bounds]; // player's frame must match parent's
[self.view addSubview: player.view];
[player play];
}
我得到一个什么都不做的黑屏。
这是我在过去6小时内使用此方法的最简单的代码版本。
我已经尝试过每个StackOverflow的答案。 我只是想播放一个我从互联网流传输的视频。
如果我设置:
player.movieSourceType = MPMovieSourceTypeStreaming;
屏幕显示“加载”一秒钟,然后崩溃。 我究竟做错了什么?
我知道那里有很多MPMoviePlayerController问题,只是问一般的“它是如何工作”的问题似乎很荒谬。我现在已经工作了将近6个小时,没有Google / Stack Overflow / Apple文档搜索功能。
答案 0 :(得分:3)
我使用了您提供的代码,但在创建它后分配给播放器的头文件中创建了一个名为mcp的MoviePlayerController属性。这对我有用。电影加载并播放得很好。
在.h文件中:
@property (strong, nonatomic) MPMoviePlayerController *mcp;
在.m文件中:
- (IBAction)playVideo:(id)sender
{
NSURL *movieURL = [NSURL URLWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.mov"];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: movieURL];
[player prepareToPlay];
[player.view setFrame: self.view.bounds]; // player's frame must match parent's
_mcp = player;
[self.view addSubview: _mcp.view];
[_mcp play];
}