Невозможно воспроизвести видео в MPMoviePlayer

Мне нужно воспроизвести видео с помощью «MPMoviePlayerViewController», когда я выбираю видео из библиотеки и передаю его URL-адрес проигрывателю, оно воспроизводится около 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;
}

person Nagaraj    schedule 08.11.2013    source источник
comment
не могли бы вы опубликовать часть своего кода, где вы установили MPMoviePlayerViewController?   -  person slecorne    schedule 08.11.2013
comment
Я отредактировал вопрос и добавил код, который используется для воспроизведения видео.   -  person Nagaraj    schedule 10.11.2013


Ответы (1)


Это происходит просто потому, что этот фильм не хранится локально, а пытается быть постепенно загруженным через iCloud.

Пропускная способность вашей сети (по отношению к iCloud) не справляется с этим видео, поскольку его требования слишком высоки.

Без вашего журнала вы видите такие строки:

Вероятность не отставать или полный буфер: 0

Это похоже на раннее предупреждение от плеера о том, что он, скорее всего, не будет достаточно быстро загружать данные для плавного воспроизведения.

Другой важной частью является эта строка

[MPCloudAssetDownloadController] Требуемый приоритет для идентификатора элемента мультимедиа: 0

Тот говорит вам, что система удаленно загружает фильм. Он пытается убедиться, что другие, возможно, параллельные загрузки должны ожидать этого, но очевидно, что это не освобождает достаточную пропускную способность (поскольку ее просто больше нет).

Боюсь, вы ничего не можете с этим поделать напрямую.

Вам нужно сначала загрузить это видео из iCloud или вам нужно уменьшить его качество (перекодировать).

person Till    schedule 09.11.2013
comment
Но я не загружаю видеофайл из iCloud, он хранится локально в видео из Фотопленки. - person Nagaraj; 10.11.2013