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:至于为什么,目前有点忙,暂时没有时间去探索,知道的朋友欢迎留言。

上一篇下一篇

猜你喜欢

热点阅读