Попытка воспроизвести аудиофайл AMR с помощью этого кода:
var player: AVAudioPlayer? = nil
WebService.shared.download(self.dataSource.object(at: indexPath)) { data in
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(data: data, fileTypeHint: AVFileType.amr.rawValue)
guard let player = player else { return }
print("Going to play: \(player.duration) seconds...")
player.volume = 1.0
player.prepareToPlay()
player.play()
} catch {
print(error.localizedDescription)
}
}
Я абсолютно уверен, что:
- полученные данные не равны нулю
- Я вижу правильное время продолжительности файла amr
- amr файлы содержат несколько голосов
- у меня не вылезло ни одной ошибки
- я ничего не слышал
Что случилось и как это исправить?