Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-MPMoviePlayerViewController未播放流式URL_Ios_Mpmovieplayercontroller - Fatal编程技术网

iOS-MPMoviePlayerViewController未播放流式URL

iOS-MPMoviePlayerViewController未播放流式URL,ios,mpmovieplayercontroller,Ios,Mpmovieplayercontroller,我有一个流式URL,类似于“http://myserver.com/master.m3u8". (这是虚拟URL) 此URL在iPhone上的safari浏览器中运行良好。 但是,当使用以下代码在应用程序中播放相同内容时,我面临一些问题: NSURL* theURL = [NSURL URLWithString:@"http://myserver.com/master.m3u8"]; MPMoviePlayerViewController* moviePlayerViewController

我有一个流式URL,类似于“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];
在应用程序中播放时出现的问题是,一段时间后,屏幕会变成黑色。但我仍然能听到音频。
如何调试问题所在的位置


有人能帮我解决类似问题吗?

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

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

请记住,在向应用商店提交应用程序时,您必须将此信息提供给应用程序审查团队。苹果公司的技术质量保证中提到了这一点:

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


我也有同样的问题,屏幕没有变黑,但它显示了带有音频图像的Quicktime徽标。我注意到,有时流媒体会自行恢复,但这需要一些时间。这个问题不是编码问题,因为如果我将使用3G的应用程序与另一个使用WIFI的应用程序放在一起,两个实时视频会同时停止,但WI-FI恢复得更快。你设法解决了吗?