ios - AVAssetTrack: Audio tracks don't have a timeRange? -


with following, , mp3 file:

avurlasset* audio = [[avurlasset alloc]initwithurl:audiourl options:nil]; avassettrack* audiotrack = [[audio trackswithmediatype:avmediatypeaudio]      objectatindex:0]; cmtime audioduration = audio.duration;  nslog(@"audioduration: %qi/%i; audiotrackduration: %qi/%i",        audioduration.value, audioduration.timescale,        audiotrack.timerange.duration.value,       audiotrack.timerange.duration.timescale); 

i get:

audioduration: 1513728/44100; audiotrackduration: 0/1 

note track fine when make use of later. thought might asynchronous key-value coding issue, nsparameterassert seems pass:

avkeyvaluestatus trstatus = [audiotrack statusofvalueforkey:@"timerange"      error:&theerror]; nsparameterassert(trstatus == avkeyvaluestatusloaded); 

what's deal? quirk of format?

for coming along later: far can tell, yes, avassettrack doesn't have time range if it's audio, , have use avasset duration. still not sure if mp3s, though, or what.


Comments