2011-05-24 15 views
5

vs sorunu player.currentItem.status AVPlayerItemStatusReadyToPlay dönmeden önce player.status AVPlayerStatusReadyToPlay tam 2 saniye döndüren olmasıdır. Bunun neden olduğuna dair herhangi bir yararlı açıklama var mı?
Bu, sadece neler olup bittiğine dair temel fikri göstermek için örnek bir koddur. AVPlayerStatus ve AVPlayerItemStatus birbiriyle ilişkili sadece tür ve genellikle zaman uyumsuz devletleri bağlıdır Ultravisual bina Deneyimlerimize göre
AVPlayerStatus AVPlayerItemStatus

- (void) someMethod 
{  
    player = [[AVPlayer alloc] initWithURL:someValidURL]; 
    [player play]; 

    NSTimer *timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(checkStatus:) userInfo:nil repeats:YES]; 
    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]; 
} 

- (void) checkStatus: (NSTimer *)timer 
{ 
    NSLog(@"player status: %i", player.status]); 
    NSLog(@"player item status: %i", player.currentItem.status]); 
} 
+0

Hmmm ... cevap yok. Ayrıca, [player play] çağrısı ile gerçekte işitme sesi arasında rastgele bir gecikme var gibi görünüyor; ve bu ya Durumun ya da her ikisinin de hazır olduğunu söylüyorlar. Sadece bunların AVPlayer'ın sadece böcekleri/tuhaflıkları olduğunu ve bunun nedeni ile ilgili gerçek bir açıklaması olmadığını hayal edebiliyorum. – SteveB

+0

bunu anlayabildin mi? Burada benzer bir sorunu yaşıyorum http://stackoverflow.com/questions/13977805/avplayer-skips-the-beginning-of-a-video ve ben ilgili olabilir – GingerBreadMane

+0

Hiçbir zaman bir cevap bulunamadı. Yine de sorunuza bir göz atacağım. – SteveB

cevap

2

- yani uygulamaları ağır iş parçacıklı olma eğilimindedir ve çoğu zaman adamcağız veya Kötü tanımlanmış.

Biz oynamaya aslında gerçekten hazır en güvenilir gösterge olarak AVPlayerItemStatus bulundu, ancak AVMutableComposition durumlarda inşa AVQueuePlayer veya AVPlayerItem s ile uğraşırken bazı FRİKİKLERİNDEN özellikle vardı.