2013-02-11 15 views
8

Im diesen Fehler nach mehreren Abspielen von Videos:AVPlayer "Kann nicht abgeschlossen Action"

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

My Play-Funktion wie folgt aussieht:

- (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]; 

Der Spieler hält nur nach ein paar hundert Versuchen Arbeits . Ich habe 5 PlayerViews, die 5 Videos sind, die bei Berührung wiedergegeben werden. Um zu einem Punkt zu kommen, an dem ich diesen Fehler bekomme (nur wenn ich die Fehlereigenschaft von AVPlayer anschaue), muss ich diese Tasten mehrere Male berühren (wie erwähnt, bevor es von ein paar hundert bis tausend Mal geht). Ich habe alle möglichen Sachen ausprobiert, um das zu beheben, aber keinen Erfolg. Ich weiß, dass, wenn ich diese Zeile hinzufügen [playerView setVideoFillMode: AVLayerVideoGravityResizeAspectFill] wird diesen Fehler früh kommen (bebore 200 mal). Was ich noch nicht versucht habe, ist ein einzelner PlayerView, der für jede Taste wiederverwendet wird, aber ich werde in Zukunft mehr als ein Video gleichzeitig abspielen müssen und ich denke, dass es dieses Problem nach einer Weile aufdecken wird . Googeln dieser Fehler oder Suche nach StackOverflow brachte mir bisher keine Lösungen.

Hat jemand diese Verwandtschaft von Problemen erfahren? Das passiert entweder in iOS5 oder iOS6 (nicht unter 5) mit ARC.

Vielen Dank im Voraus

+0

klingt erschreckend !! – rajneesh

+1

Hallo @alamatula, ich stehe vor demselben Problem, hast du jemals die Lösung für dieses Problem gefunden? – vnaren001

Antwort

1

ich Set-up nicht, Ihren Code zu versuchen, aber haben Sie versucht replaceCurrentItemWithPlayerItem: in @autoreleasepool Einwickeln ARC zu zwingen, eine Bereinigung zu tun?

Haben Sie alternativ Zuordnungen über Instrumente überprüft?

Aus Ihrer Beschreibung klingt es viel wie ein Leck. Sie Mai haben einen Fehler in gefunden (ich bezweifle, dass es die Art von Übung bekommen Sie geben es!) Und wenn ja, sollten Sie auf jeden Fall file a bug with Apple, aber es kann einige Dinge, die Sie tun können, um zu arbeiten.

Gibt es einen Grund, dass Sie denselben Player immer wieder verwenden möchten? Haben Sie versucht, den alten Player zu löschen und einen neuen zu erstellen, anstatt replaceCurrentItemWithPlayerItem:?

Lassen Sie uns wissen, welche Instrumente-Zuteilungen zeigt. Ich wette, das ist der Schlüssel, um dem auf den Grund zu gehen.