0

当我从库中选择一个视频并将其 URL 传递给播放器时,我需要使用“MPMoviePlayerViewController”播放视频,它播放大约 2 秒并停止响应(根本没有交互),并在控制台中找到这些行

[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Enabling autoplay
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: _streamLikelyToKeepUp: 0 -> 1
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Likely to keep up or full buffer: 0
[MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Likely to keep up or full buffer: 1
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: _streamLikelyToKeepUp: 0 -> 1
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Likely to keep up or full buffer: 0
[MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)

我已经尝试了“stackoverflow”中的所有内容,但没有用,任何人都可以建议我解决方案。

设备:iPad-3,版本:6.1

请建议

这是我在播放视频时使用的代码

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];

    if([mediaType isEqualToString:(NSString*)kUTTypeMovie])
    {
        [self playVideoWithURL:[info objectForKey:UIImagePickerControllerMediaURL]];
    }
}


- (void)playVideoWithURL:(NSURL*)fileURL
{
    if(!self.playerViewController)
    {
        self.playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
        [self.moviePlayerContainer addSubview:self.playerViewController.view];
        self.playerViewController.moviePlayer.scalingMode = MPMovieScalingModeNone;
        self.playerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
        [self.playerViewController.moviePlayer stop];
    }
    else
    {
        self.playerViewController.moviePlayer.contentURL = fileURL;
    }

    CGRect movieFrame = self.moviePlayerContainer.frame;
    movieFrame.origin = CGPointZero;
    self.playerViewController.view.frame = movieFrame;
}
4

1 回答 1

0

发生这种情况仅仅是因为该电影不是本地存储的,而是试图通过 iCloud 逐步下载。

您的网络带宽(朝向 iCloud)无法处理该视频,因为它的要求太高了。

如果没有您的日志,您会看到如下行:

可能跟上或满缓冲区:0

这就像来自播放器的早期警告,告诉您它很可能无法以足够快的速度加载数据以进行流畅的播放。

另一个重要的部分是这条线

[MPCloudAssetDownloadController] 为媒体项目 ID 请求优先级:0

那个告诉你系统正在远程下载电影。它试图确保其他可能的并行下载应该等待这个,但显然这并没有释放足够的带宽(因为没有更多可用的带宽)。

恐怕,您无法直接对此做任何事情。

您需要先从 iCloud 下载该视频,或者您需要降低其质量(重新编码)。

于 2013-11-09T20:35:46.067 回答