AVAudioPlayer 无法播放使用 ExtAudioFileWriteAsync 编写的音频 (.wav) 文件

AVAudioPlayer cannot play Audio (.wav) file written using ExtAudioFileWriteAsync

我使用 ExtAudioFileWriteAsync 使用 RemoteIO 将录制的音频写入 .wav 文件。 AVAudioPlayer 没有播放保存的音频文件。音频文件只能在 VLC 媒体播放器上播放,不能在 QuickTime 或任何其他媒体播放器上播放。

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

音频文件的一些基本信息:

请提出解决方案。

在浪费了 2 天之后,我发现问题在于没有使用 ExtAudioFileDispose 调用刷新音频数据。由于最终音频数据未刷新,因此 wav 文件不完整且已损坏。它只在 VLC 播放器中播放,而不是任何其他播放器。使用 ExtAudioFileDispose 后,音频在 AVAudioPlayer 中播放效果也很好。

result = ExtAudioFileDispose(self.extAudioFileRef!)