Video örnekleri veya ses örnekleri hakkında konuşup sormadığınız sorusundan net değil.
NSArray* video_tracks = [asset tracksWithMediaType:AVMediaTypeVideo]; AVAssetTrack* video_track = [video_tracks objectAtIndex:0];
: En varlıktan
asset_reader = [[AVAssetReader alloc] initWithAsset:asset error:&error]; (error checking goes here)
video izi (ler) alın:
bir AVAssetReader Construct: Video örneklerini okumak için, aşağıdakileri yapmanız gerekir
İstenen video karesi formatını ayarlayın:
Belirli video biçimlerinin çalışmaz hale geldiğini ve gerçek zamanlı bir şey yapıyorsanız, bazı video biçimlerinin diğerlerinden daha iyi performans gösterdiğini unutmayın (örneğin, BGRA, ARGB'den daha hızlıdır).
gerçek ray çıkışını Construct ve varlık okuyucuya ekleyin:
AVAssetReaderTrackOutput* asset_reader_output = [[AVAssetReaderTrackOutput alloc] initWithTrack:video_track outputSettings:dictionary];
[asset_reader addOutput:asset_reader_output];
varlık okuyucu kapalı Kick:
[asset_reader startReading];
numuneler kapalı Oku:
CMSampleBufferRef buffer;
while ([asset_reader status]==AVAssetReaderStatusReading)
buffer = [asset_reader_output copyNextSampleBuffer];
Teşekkür Damian. Aslında ses hakkında soruyordum. Sesi arabelleğe alabilirim, ancak tampondaki örneklere nasıl ulaşacağımı bilmiyorum. –
Video örnek okuma çalışmam var, ancak her seferinde (veya bazı videolar için) her zaman boş video kareleriyle bitiyorum. Hata yok, sadece boş kareler. Herhangi bir fikir? –
Emin değilim, üzgünüm. Örneklerde Sunum Zamanı Damgası'nı kontrol edebilir misiniz? Sürekli olarak sürekli boş olan videolar oluşturmak için bir yol bulabilir misiniz - belki bu yardımcı olacak? – damian