AVPlayerItemStatusUnknown отображается при выполнении потоковой передачи HTTP по HTTP - PullRequest
1 голос
/ 17 мая 2011

Я использую AVPlayer для просмотра видео, хранящихся в Amazon CloudFront - используется HTTP-протокол Live, а список воспроизведения и сегменты хранятся на S3 и размещаются с использованием CloudFront.

После воспроизведения нескольких видео я начинаю получать статус AVPlayerItemStatusUnknown из элемента AVPlayer

AVPlayer.currentItem.status == AVPlayerItemStatusUnknown

Это состояние сохраняется, когда выбран новый список воспроизведения видео - я пытался отменить выделение AVPlayer перед установкой нового URL-адреса списка воспроизведения, и, тем не менее, состояние AVPlayerItemStatusUnknown сохраняется до тех пор, пока я не завершу приложение.

Два вопроса. Кто-нибудь использует Amazaon CloudFront для размещения видео с такой же проблемой? Кто-нибудь знает обходной путь, чтобы я мог восстановить состояние AVPlayer, чтобы пользователю не приходилось завершать работу приложения для просмотра других видео?

Большое спасибо,

// Aaron

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Я нашел проблему.Короткий ответ: это был слишком сохраненный AVPlayer, который, кстати, не был замечен инструментом Instruments, использующим шаблон утечек.Извините за ложную тревогу.

// Аарон

0 голосов
/ 17 мая 2011

Для потокового мультимедиа это выглядит как нормальное поведение для меня.Вы добавляете наблюдателя для свойства status?Вы должны начать воспроизведение при изменении состояния на AVPlayerItemStatusReadyToPlay.

[item addObserver:self forKeyPath:@"status" options:0 context:nil];

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
                        change:(NSDictionary *)change context:(void *)context
{ 
    if ([keyPath isEqualToString:@"status"]) {
        AVPlayerItem *item = (AVPlayerItem *)object;
        if (item.status == AVPlayerItemStatusReadyToPlay) {
            //Ready
        }
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...