You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ExtAudioFileOpenURL与AVAudioFile无法读取.aac文件问题求助

Swift应用中AAC转WAV时打开AAC文件失败的问题

我正在开发一款Swift应用,从音频流录制.aac格式文件,通过ShazamKit识别歌曲。由于ShazamKit仅支持读取.wav文件,因此需要实现AAC转WAV的转换功能。

录制功能正常,但使用ExtAudioFileOpenURL或AVAudioFile打开AAC文件时,始终出现以下错误:

2023-07-22 09:58:55.795711+0900 KDVS[46452:2598649]  ReadBytes Failed
2023-07-22 09:58:55.795818+0900 KDVS[46452:2598649]  AACAudioFile::ParseAudioFile failed
2023-07-22 09:58:55.795911+0900 KDVS[46452:2598649]  OpenFromDataSource failed
2023-07-22 09:58:55.795977+0900 KDVS[46452:2598649]  Open failed
2023-07-22 09:58:55.796073+0900 KDVS[46452:2598649] [default]          ExtAudioFile.cpp:210  

已完成的排查:

  • 该AAC文件可在任意媒体播放器正常播放,排除文件损坏的可能性
  • 验证过文件URL正确,文件存储在Documents目录,权限无问题

由于对音频编码了解有限,无法确定问题根源,推测可能是文件存在轻微损坏,或是多数AudioFile读取器不支持当前AAC格式。以下是录制流的类代码及AAC转WAV的转换函数:

// aactowav.swift代码...
// CachingPlayerItem.swift代码...

内容的提问来源于stack exchange,提问作者John Carraher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:52:31