我有一个大文件,其中包含几个 aac 音频,以“块”的形式(每个音频由一些垃圾字节分隔)。我需要单独加载每个文件(使用开始/偏移字节来选择每个音频文件)。
我目前使用 AVAudioFile + AVAudioPlayerNode,但这样我只能使用 url/path 加载纯 aac 音频文件(我无法使用 start/offset 读取单个大文件中的多个音频)
您可以将 aac 数据读入
AVAudioCompressedBuffer
(您可能需要 AudioFileStream
API 来获取数据包偏移量),使用 AVAudioPCMBuffer
将它们解压缩到 AVAudioConverter
,并使用您的计划安排 PCM
缓冲区原创AVAudioPlayerNode
.
或者您可以将
aac
块复制到单独的 .aac
文件中,然后使用原始 AVAudioFile
+ AVAudioPlayerNode
来播放这些文件。