AVAudioPlayer не может воспроизводить аудио (.wav) файл, написанный с использованием ExtAudioFileWriteAsync

Я использовал ExtAudioFileWriteAsync для записи записанного аудио с помощью RemoteIO в файл.wav. AVAudioPlayer не воспроизводит сохраненный аудиофайл. Аудиофайл воспроизводится только на медиапроигрывателе VLC, но не в QuickTime или любых других медиапроигрывателях.

var player = AVAudioPlayer(contentsOf: audioFileURL)
player.play()

Некоторые основные детали аудио файла: введите описание изображения здесь

Пожалуйста, предложите решение.

1 ответ

Решение

Потратив 2 дня, я обнаружил, что проблема заключается в том, чтобы не сбрасывать аудиоданные с помощью вызова ExtAudioFileDispose. Поскольку окончательные аудиоданные не были сброшены, файл wav был неполным и поврежденным. Это игралось только в плеере VLC, а не в других игроках. После использования ExtAudioFileDispose звук хорошо воспроизводится и с AVAudioPlayer.

result = ExtAudioFileDispose(self.extAudioFileRef!)
Другие вопросы по тегам