0

我对此感到困惑。我有一个包含 .m3u8 文件的 URL,当我尝试使用以下命令流式传输 URL 时:

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];

[player setControlStyle:MPMovieControlModeVolumeOnly];
[player setFullscreen:YES];
[player prepareToPlay];
[player play];

似乎我不能,因为什么都没有开始播放。但是当我使用:

 MPMoviePlayerViewController* controller = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
[self presentViewController:controller animated:YES completion:nil];

viewcontroller开始播放文件。有什么不同?为什么我不能在我viewcontroller的 提前致谢。

4

2 回答 2

1

在您的第一个代码部分中,您只有一个MPMoviePlayerController,您应该在屏幕上呈现它,并将MPMoviePlayerControllerView 添加到您呈现UIVIewcontroller的 View

[self.view addSubView:player.view] 

在您的第二个代码部分中,您实际上UIViewController将 WithMPMoviePlayerController作为组合设计模式

于 2014-06-22T18:52:44.090 回答
1

MPMoviePlayerController让您开始播放、停止和流式传输内容,这些内容旨在合并到您自己的视图层次结构中。

自 iOS 3.2MPMoviePlayerViewController可用以来,它会为您处理演示文稿。

在上面的代码中,对于第一种情况,它没有添加到视图层次结构中。

前任:

[self.view addSubview:player.view]; 

另一个区别是MPMoviePlayerController的属性MPMoviePlayerViewController

可以将MPMoviePlayerController其视为一个播放器,它为您提供控件并 MPMoviePlayerViewController为您提供除了控件之外的演示文稿。

希望这可以帮助。

于 2014-06-22T18:55:18.180 回答