için çalışır Bir HTTP canlı akışından "playlist.m3u8" video oynatan bir iOS uygulamasına sahibim ve AVPlayer kullanarak özel bir oynatıcım var. Scrubbing gibi normal kullanıcı etkileşimlerini işlemek için videonun süresini almam gerekiyor, fakat bir sebepten dolayı IOS 4.3'te aşağıdaki kodu çağırdığımda xcode 4.0 kullanarak bir CMTime aldım. ne yapıyor, çünkü CMNimeValue = 0 ve CMTimeScale = 0, NaN ve CMTimeFlags = 17'yi veren daha da garip.iOS AVAsset.duration, HTTP canlı akışı için sıfırdır ancak ilerleyen
AVPlayerItem *pItem = mPlayer.currentItem;
AVAsset* asset = pItem.asset;
CMTime d = asset.duration;
double duration = CMTimeGetSeconds(asset.duration);
Ben de i/oynamaya ovalama başlamadan önce hazır olduğundan emin olmak için yükleme çalma listesinin durumunu izlemek do bahsetmeliyiz: Burada
hiç karmaşık değil ben kullandığı kod:[mPlayer addObserver:self forKeyPath:@"currentItem.status" options:0 context:VideoPlaybackViewDelegateStatusContext];
Herkesin sağlayabileceği bu konularla ilgili yardımlarınız için teşekkür ederiz.
Bunun iOS 4.2'de çalıştığından bahsetmeyi unuttum - hem simülatör hem de aygıt. – Aaron