2013-02-11 15 views
8

Im uzyskiwanie ten błąd po zagraniu kilku filmów:AVPlayer „Nie można zakończyć operacji”

Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo=0x1d83a7f0 {NSLocalizedRecoverySuggestion=Try again later., NSLocalizedDescription=Cannot Complete Action} 

Moja funkcja odtwarzania wygląda następująco:

- (void)playItem:(AVPlayerItem*)item 
    playerView:(PlayerView*)playerView 
    doReset:(BOOL)reset 
{ 
// if it's different item or we want to reset then replace item and rewind player to zero 
if([player currentItem] != item || reset) 
{ 
    [player pause]; 
    [player replaceCurrentItemWithPlayerItem:item]; 
    [player seekToTime:kCMTimeZero]; 
} 

// set the view's player 
[playerView setPlayer:player]; 

[player play]; 

gracz zatrzymuje tylko działa po kilkaset prób . Mam 5 PlayerView, które są 5 Wideo, które po dotknięciu będą odtwarzane. Aby dostać się do punktu, w którym pojawia się ten błąd (tylko patrząc na właściwość błędu wystąpienia AVPlayer) muszę dotknąć tych przycisków razy severl (jak wspomniano wcześniej, zanim przejdzie od kilkuset do tysięcy razy). Próbowałem wszystkich rodzajów rzeczy, aby to naprawić, ale bez powodzenia. Wiem, że jeśli dodaję tę linię: [playerView setVideoFillMode: AVLayerVideoGravityResizeAspectFill] spowoduje, że błąd ten pojawi się wcześniej (200 razy). To, czego nie próbowałem, to użycie pojedynczego odtwarzacza PlayerView, które będzie ponownie użyte dla każdego przycisku, ale będę musiał jednocześnie odtwarzać więcej niż jedno wideo w tym samym czasie i sądzę, że po chwili rozwiąże ten problem . Uruchamianie tego błędu lub usychanie wyszukiwania StackOverflow nie przyniósł mi dotąd żadnych rozwiązań.

Czy ktoś doświadcza tę grupę problemów? Zdarza się to zarówno w systemie iOS5, jak i iOS6 (bez kierowania poniżej 5) za pomocą ARC.

góry dzięki

+0

Brzmi strasznie !! – rajneesh

+1

Witam @alamatula, mam do czynienia z tym samym problemem, czy kiedykolwiek znalazłeś rozwiązanie tego problemu? – vnaren001

Odpowiedz

1

nie jestem set-up wypróbować swój kod, ale czy próbowałeś owijania replaceCurrentItemWithPlayerItem: w @autoreleasepool zmusić ARC zrobić jakieś porządki?

Alternatywnie, czy sprawdziłeś alokacje za pomocą instrumentów?

Z Twojego opisu, brzmi to jak wyciek. Ty może znalazłeś błąd w AVPlayer (Wątpię, że dostał tego rodzaju ćwiczenia, które dajesz!), A jeśli tak, powinieneś zdecydowanie file a bug with Apple, ale może być kilka rzeczy, które możesz zrobić, aby obejść.

Czy istnieje powód, dla którego chcesz ponownie korzystać z tego samego odtwarzacza? Czy próbowałeś zrzucić starego gracza i stworzyć nowy, a nie replaceCurrentItemWithPlayerItem:?

Daj nam znać, co pokazuje Instruments-Allocations. Założę się, że jest to kluczem do osiągnięcia tego.

Powiązane problemy