然後就查了壹下方法中壹個AVURLAssetPreferPreciseDurationAndTimingKey參數設置意思,其中源碼中有這樣壹段註釋:
意思就是AVURLAssetPreferPreciseDurationAndTimingKey參數默認設置為NO,如果僅僅只是播放,AVPlayer則會獲取沒有完全精度的近似時長,默認值NO就足夠了。如果想要獲取比較準確的時長則需要設置為YES,但這樣有個問題就是加載時長相對長些。於是就明白了之前為什麽會出現獲取時長不準確這樣的問題。然後就在原方法中修改默認值NO為YES,就解決了這個問題,畢竟我只是為了獲取準確時長,並不需要播放。再次感受到了查看源碼的重要性!