iOS - MPMoviePlayerViewController不播放流媒体网址

时间:2012-07-15 16:48:07

标签: ios mpmovieplayercontroller

我有一个类似“http://myserver.com/master.m3u8”的流媒体网址。 (这是虚拟URL)
这个URL在iPhone的Safari浏览器中播放得很好 但是当使用以下代码在应用程序中播放相同内容时,我面临一些问题:

NSURL* theURL = [NSURL URLWithString:@"http://myserver.com/master.m3u8"];

MPMoviePlayerViewController* moviePlayerViewController  = [[MPMoviePlayerViewController alloc] initWithContentURL:theURL];
moviePlayerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;        
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];

在应用程序中播放时的问题是,在某段时间后屏幕变为黑色。但我仍然能听到音频 我该如何调试问题的位置。

有人能帮助我遇到类似问题吗?

1 个答案:

答案 0 :(得分:0)

如果您创建标准m3u8文件,则视频的最低版本将包含该流的纯音频版本。因此,如果带宽较低,播放器可能会切换到此流并仅播放音频。

当发生这种情况时,我还没有找到在应用程序中做一些有意义的事情的解决方案(例如暂停视频并等到带宽足以播放再次有视频的下一个更高版本的流)但是如果您可以调整m3u8或编码过程,您只需从m3u8中删除仅音频版本。然后,如果带宽不足以显示,播放器将切换到最低的视频流并暂停。

请注意,在向商店提交应用时,您必须向App Review团队提供此信息。这在Apple的技术质量保证中提到:Resolving App Store Approval Issues for HTTP Live Streaming

  

注意:由于基线64 kbps最大纯音频HTTP直播流要求专门用于通过蜂窝网络进行流式传输,如果您的应用程序仅限Wi-Fi HTTP实时流式传输,并且您选择不提供基线64 kbps纯音频流,您必须将此信息提供给App Review团队。开发人员可以将此信息包含在您的应用程序的“审阅备注”字段中。