可以通过调用AVAudioPCMBuffer的函数进行偏移。具体来说,可以使用mFloatChannelData成员指向的实际数据缓冲区指针来实现偏移。如下所示:
func offsetPCMBuffer(_ buffer: AVAudioPCMBuffer, offset: Int) {
let channelCount = Int(buffer.format.channelCount)
let frameLength = buffer.frameLength
let mData = buffer.floatChannelData!
for i in 0..(mData[i])
for j in 0..
此示例演示了如何将音频数据缓冲区中的所有通道从偏移开始向前偏移。调用此函数时,将不会更改原始AVAudioPCMBuffer,而是将生成一个新的音频数据缓冲区,并将减去偏移量的样本复制到新缓冲区的末尾。
使用此偏移PCM缓冲区功能时,需要注意: