为什么我会根据获取音频持续时间的方式获得不同的音频文件持续时间?

时间:2018-11-04 19:09:57

标签: ios swift avaudioplayer avurlasset

我需要非常精确地测量音频文件的持续时间。当将此值存储到模型中时,我使用以下方法获取值:

func getDurationOfAudioSectionWith(url: URL) -> Double {
    let audioAsset = AVURLAsset(url: url)
    let audioDuration = audioAsset.duration
    let audioDurationSeconds = CMTimeGetSeconds(audioDuration)
    return audioDurationSeconds
}

在我应用程序的另一个位置,我将音频文件加载到AVAudioPlayer中,但是当我使用AVAudioPlayer.duration时,它返回的长度略小于保存到模型中的值。 AVURLAsset返回值为3.584,AVAudioPlayer返回值为3.407。

为什么会这样?以及如何避免差异?

0 个答案:

没有答案