iOS AVPlayerItem获取音频时长错误、不准确
2020-06-11 本文已影响0人
心在前方
错误:
AVPlayerItem *item = [[AVPlayerItem alloc]initWithURL:FILEURL];
Float64 duration = CMTimeGetSeconds(item.duration);
durantion要么获取不到,要么相差几秒甚至十几秒。
解决:
NSDictionary *dic = @{AVURLAssetPreferPreciseDurationAndTimingKey:@(YES)};
AVURLAsset *audioAsset = [AVURLAsset URLAssetWithURL:FILEURL options:dic];
CMTime audioDuration = audioAsset.duration;
Float64 audioDurationSeconds = CMTimeGetSeconds(audioDuration);
audioDurationSeconds得到的时长是准确的,并且不会出现获取不到的情况。
ps:至于为什么,目前有点忙,暂时没有时间去探索,知道的朋友欢迎留言。