如何使用 AVAudioFile + AVAudioPlayerNode (swift) 加载/播放 AAC 音频并丢弃文件开头的字节(垃圾字节头)

问题描述 投票:0回答:1

我有一个大文件,其中包含几个 aac 音频,以“块”的形式(每个音频由一些垃圾字节分隔)。我需要单独加载每个文件(使用开始/偏移字节来选择每个音频文件)。

我目前使用 AVAudioFile + AVAudioPlayerNode,但这样我只能使用 url/path 加载纯 aac 音频文件(我无法使用 start/offset 读取单个大文件中的多个音频)

ios swift audio avfoundation avaudioplayer
1个回答
0
投票

您可以将 aac 数据读入

AVAudioCompressedBuffer
(您可能需要
AudioFileStream
API 来获取数据包偏移量),使用
AVAudioPCMBuffer
将它们解压缩到
AVAudioConverter
,并使用您的计划安排
PCM
缓冲区原创
AVAudioPlayerNode
.

或者您可以将

aac
块复制到单独的
.aac
文件中,然后使用原始
AVAudioFile
+
AVAudioPlayerNode
来播放这些文件。

© www.soinside.com 2019 - 2024. All rights reserved.