Почему я получаю разные длительности для аудиофайла в зависимости от того, что я использую для получения длительности? - PullRequest
0 голосов
/ 04 ноября 2018

Мне нужны очень точные измерения продолжительности аудио файла. При сохранении этого значения в моей модели я использую этот метод для получения значения:

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.

Почему, почему это происходит? И как я могу избежать несоответствия?

...