2012-05-31 14 views
6

Mam aplikację, która obsługuje streaming wideo. Począwszy od odtwarzania .m3u8, tworzy tablicę AVAssets i trzepie przez nichAVPlayer nie przełącza się między progresywnym pobieraniem i przesyłaniem strumieniowym

[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]] 

Działa to dobrze, ale wcześniej chcę wyemitowany krótki wideo MP4 przy użyciu progresywnego pobierania. Załadować AVPlayer użyciu

AVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL]; 
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]]; 

Odgrywa, ale kiedy w dalszym ciągu z wideo strumieniowego jak wcześniej, mam status AVPlayerStatusFailed, z błędem w AVPlayerItem z The operation could not be completed

go do pracy, ja trzeba utworzyć obiekt AVPlayer dla preroll (progressive download), a następnie zupełnie nowy obiekt AVPlayer, aby rozpocząć odtwarzanie strumieniowego wideo.

Czy to możliwe, że pojedyncza instancja AVPlayer nie może odtwarzać progresywnego wideo do pobrania, a następnie przesyłać strumieniowo wideo? Czy może jest coś innego, co robię źle?

+1

Mam ten sam problem. Z MPMoviePlayerController mamy właściwość movieSourceType, którą możemy ustawić, ale nie AVPlayer lub AVPlayerItem. –

+0

Ten błąd nadal istnieje trochę później, ale można go przeczytać na https://developer.apple.com/library/mac/ iOS7.1 SDK –

+0

@KentNguyen. dokumentacja/AudioVideo/Conceptual/AVFoundationPG/Artykuły/02_Playback.html, spójrz na część ** Aby utworzyć i przygotować strumień live HTTP do odtwarzania ** – onmyway133

Odpowiedz

2

Ten błąd jest znanym problemem, który rzekomo został naprawiony w następnej głównej wersji systemu iOS.

W międzyczasie tworzenie nowego obiektu AVPlayer jest jedynym znanym sposobem obejścia tego problemu.

+1

Według inżynierów Apple na WWDC14, iOS 8 nadal ma ten problem. Wspomnieli również, że lista ich priorytetów jest bardzo niska. Powrót do obejścia problemu! – coco

Powiązane problemy