/ typedef void (^AVAudioNodeTapBlock)(AVAudioPCMBuffer *buffer, AVAudioTime *when); 我们需要把 buffer 转成 AVAudioFile 然后通过 AVAudioFile 的 write 方法写入 初始化AVAudioFile AVAudioFile * audioFile = [[AVAudioFile alloc] initForWriting stringByAppendingPathComponent:@"123.caf"]; NSURL * url = [NSURL fileURLWithPath:filePath]; AVAudioFile * audioFile = [[AVAudioFile alloc] initForWriting:url settings:@{} error:nil]; self.recordFileUrl
大体流程如下所示: 首先通过AVAudioFile加载本地音频文件,获取采样率、声道数等音频信息。 然后通过AVAudioFormat和音频采样帧数(等于采样率乘以时长)构建AVAudioPCMBuffer,并且通过AVAudioFile.read把音频数据解码到AVAudioPCMBuffer,获取到解码后的