iOS 6的流播放com.apple.coremedia.networkbuffering错误(iO

2019-06-28 09:29发布

我最近好让我的应用程序(音乐和视频流播放器)在iOS 6模拟器运行的麻烦。

当我开始一个音乐视频瓯崩溃显示在此线程的错误:com.apple.coremedia.networkbuffering

这种登录方式:

2012-09-13 17:45:09.260 app[32563:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-09-13 17:45:09.260 app[32563:c07] [MPAVController] Autoplay: Disabling autoplay
2012-09-13 17:45:09.305 app[32563:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-13 17:45:09.307 app[32563:c07] handlePlaybackNowPlayingNotification
2012-09-13 17:45:09.308 app[32563:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2012-09-13 17:45:09.308 app[32563:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
2012-09-13 17:45:09.318 app[32563:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-13 17:45:09.320 app[32563:c07] [MPCloudAssetDownloadController] Prioritization requested for media item ID: 0

我使用的MPMoviePlayerController与基于HTTP流,并能正常工作在iOS 4或5的iOS

关于如何解决它的任何想法?

Answer 1:

我有完全相同的问题...

试试你实例化您的播放器后立即这样做:

[player prepareToPlay];

它应该当你调用播放自动调用,但显然在iOS上,如果你不显式调用6出了差错。

在我的情况下,它解决了这个问题。



Answer 2:

你所观察是不是死机,但一个例外。 你最有可能启用异常断点,导致你的假设是,应用程序崩溃。

这实际上异常正确处理(毫无遗漏)的SDK和不会导致应用程序崩溃。

请注意,这只是发生在模拟器,而不是设备上。

这个问题密切相关,这个问题是什么,确实,这-GDB输出均值 。 所不同的是,你不会得到这些错误消息了,但异常的仍然抛出(也毫无遗漏)。



Answer 3:

我已经采用的xcode 4.5 + SDK6.0与xcode的4.4.1 + SDK5.1组合存在与IOS 6版本的MPMoviePlayerController的问题验证。 我只配备了iPad,虽然工作。

这里是我的意见: - - 我从来没有见过在iOS 6.0与我的代码,使用的MPMoviePlayerController视频播放。 - 在Xcode 4.4.1和SDK 5.1,我看到的IOS版本5.1,5.0和4.3的代码工作。 - 和Xcode 4.5和SDK 6.0中,玩家总是失败在模拟器,但在iOS大多数安装5.1设备的工作。 我一直在重新安装iOS版应用5.1设备和尝试播放器。 它只有一次失败。

这里是我的意见时,玩家失败: - 某些时候,玩家失败了,我看到你上面提到的日志。 其他时候,我没有甚至可以看到日志。 - 我把一个断点在得到了MPMoviePlayerPlaybackDidFinishNotification通知功能。 然后,我在错误日志中的球员,有没有。 我找了MPMoviePlayerPlaybackDidFinishReasonUserInfoKey,这是0(MPMovieFinishReasonPlaybackEnded)。 这样的MPMoviePlayerController根本不知道什么地方出错了!

结论:iOS6的和/或SDK 6已经得到了一个错误。



Answer 4:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mp4"]];
MPMoviePlayerViewController  *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:url];



moviePlayer.view.frame = self.view.frame;
moviePlayer.moviePlayer.shouldAutoplay=YES;
moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
[moviePlayer.moviePlayer setFullscreen:YES animated:YES];
[self.view addSubview:moviePlayer.view];
[moviePlayer.moviePlayer play];

注意:iOS 6中之前,不需要调用[moviePlayer.movi​​ePlayer播放]; 一旦你添加播放器视图的视图将开始发挥,但在iOS 6中,你需要显式调用播放功能



Answer 5:

我有的MPMoviePlayerController相同的问题了iOS6的。 所以我改变了我的代码fllowing,现在它工作正常..

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mp4"]];
MPMoviePlayerViewController  *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:url];



moviePlayer.view.frame = self.view.frame;
moviePlayer.moviePlayer.shouldAutoplay=YES;
moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
[moviePlayer.moviePlayer setFullscreen:YES animated:YES];
[self.view addSubview:moviePlayer.view];
[moviePlayer.moviePlayer play];


Answer 6:

我还没有解决这个问题还没有,但它似乎什么时候在我的具体情况有关MPMoviePlayerController将要进入全屏时,或有用于控制潜在的滞后。

我不是从网络流媒体内容,内容是在设备上,所以最初的内容显示在视图中的罚款。

我的猜测是,他们已经实施了新的功能,为MPMoviePlayerController以防止在播放过程中“死区时间”。 我已经看到了一些应用程序时,电影数据下线,只是挂或者你刚好走出你的无线网络的范围”

我试图解决这一问题将是看看传递给通知消息 -

(void)moviePlayBackDidFinish: (NSNotification*)notification

这是通过查询用户信息字典完成

NSDictionary *userInfo = [notification userInfo];

对于值MPMoviePlayerPlaybackDidFinishReasonUserInfoKey是在这种类型的故障的情况下,0。

这是一个起点。 我的想法是,在这种独特的失败这一点上复权的电影。

我会及时向大家发布的结果。



Answer 7:

首先,我做了类似下面

[self.player.moviePlayer prepareToPlay];
[self.player.moviePlayer play];
self.player.moviePlayer.shouldAutoplay = YES;

并且当我删除下面的线

self.player.moviePlayer.shouldAutoplay = YES;

问题得到解决。



Answer 8:

我在与下面的代码的问题,玩家进入全屏幕上,但经过正确的,它关闭,根本不会播放视频。

NSURL * URL = [NSURL URLWithString:@ “ http://streaming.disponivel.uol.com.br/video360p2/288148-1192657.mp4 ”];

    _player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

    [_player.moviePlayer setMovieSourceType:MPMovieSourceTypeFile];

    [_player.moviePlayer setControlStyle:MPMovieControlStyleDefault];

    [_player.moviePlayer setFullscreen:YES animated:YES];      

    [self presentMoviePlayerViewControllerAnimated:_player];

    [_player.moviePlayer prepareToPlay];

    [_player.moviePlayer play];


Answer 9:

我也使用MPMoviePlayerViewController展现在我的应用程序的实时视频和我得到如上错误的同一列表。 我发现MPMoviePlayer不支持更大的数据显示视频,但如果你使用更小的视频数据,它工作正常,抛出任何错误。 其实,这是不准备在玩和播放电影播放器​​的性能的问题。

如果你需要显示大数据然后使用web视图您的应用。



文章来源: iOS 6 streaming player com.apple.coremedia.networkbuffering bug