2013-02-11 34 views
8

Im birkaç video oynadıktan sonra bu hatayı almaya:AVPlayer "Eylem değil Komple Can"

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

Oyunumun fonksiyonu şöyle görünür:

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

oyuncu sadece yüz girişimleri bir çift sonra çalışmamaya başlıyor . Dokunduğumda oynayacağı 5 Video olan 5 Oyuncu Görüntülemem var. Bu hatayı aldığım bir noktaya ulaşmak için (sadece AVPlayer örneğinin hata özelliğine bakarak) bu düğmelerdeki kesikli zamanlara dokunmalıyım (daha önce bahsedildiği gibi yüzlerce bin kez geçiyor). Bunu düzeltmek için her türlü şeyi denedim ama başarı yok. Bu satırı [playerView setVideoFillMode: AVLayerVideoGravityResizeAspectFill] eklediğimde bu hatanın erken gelmesini sağlayacağımı biliyorum (bebore 200 kez). Denemediğim, her bir düğme için yeniden kullanılacak olan tek bir PlayerView kullanmaktır, ancak gelecekte birden fazla video oynatmak zorunda kalacağım ve bir süre sonra bu sorunu ortaya çıkaracağını düşünüyorum . Bu hataya göz atmak veya StackOverflow aramasını soldurmak, şimdiye kadar hiçbir çözüm getirmedi.

Bu problemler yaşayan biri var mı? Bu, iOS ile iOS5 veya iOS6'da (hedef 5'i hedeflemiyor) ARC ile gerçekleşir. peşin

Teşekkür

+0

, korkutucu sesler! – rajneesh

+1

Merhaba @alamatula, Ben aynı sorunla karşı karşıyayım, bu problem için herhangi bir çözüm buldunuz mu? – vnaren001

cevap

1

Ben kodunuzu denemek-kurmak değilim, ancak bazı temizlik yapmak için ARC zorlamak @autoreleasepool yılında replaceCurrentItemWithPlayerItem: sarılması denediniz mi?

Alternatif olarak, Enstrümanlar aracılığıyla tahsisleri kontrol ettiniz mi?

Açıklamanızdan çok sızıntıya benziyor. ,'un AVPlayer numaralı bir hata bulduğuna (bunu verdiğiniz egzersiz türünü aldığından şüpheniz var!) Ve eğer öyleyse, kesinlikle file a bug with Apple'u mutlaka öğrenmelisiniz, ancak etrafınızda çalışmak için yapabileceğiniz bazı şeyler olabilir.

Aynı oynatıcıyı yeniden kullanmak için bir nedeniniz var mı? Eski oyuncuyu ve replaceCurrentItemWithPlayerItem: yerine yeni bir tane yaratmayı denediniz mi?

Aletler-Ayırmaların neyi gösterdiğini bize bildirin. Bahse girerim bunun dibine varmanın anahtarıdır.