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 に答える