gpt4 book ai didi

ios - 音频单元录音 : increased volume of buffers

转载 作者:行者123 更新时间:2023-12-01 15:40:21 39 4
gpt4 key购买 nike

我正在为我使用远程音频单元的 iPhone 构建一个录音应用程序。在对传入缓冲区执行一些音频分析后,我使用以下方法将缓冲区写入磁盘:

ExtAudioFileWriteAsync

但是,我遇到的问题是记录的缓冲区比我想要的要安静。

我想通过在写入磁盘之前手动将缓冲区乘以体积因子来增加缓冲区的体积。谁能给我解释一下最好的方法吗?

(由于各种原因,在最后阶段进行手动调整比更改任何音频单元属性更有吸引力,否则这对我的应用程序来说效果很好。)

提前致谢!!

最佳答案

您可以使用 Accelerate.framework 快速轻松地完成此操作。由于您使用的是 AudioUnits,我假设您已经对 float 缓冲区进行了去交错处理,所以这样的东西应该可以工作:

float desiredGain = 1.06f; // or whatever linear gain you'd like
AudioBufferList *ioData; // audio from somewhere
for(UInt32 bufferIndex = 0; bufferIndex < ioData->mNumberBuffers; ++bufferIndex) {
float *rawBuffer = (float *)ioData->mBuffers[bufferIndex].mData;
vDSP_Length frameCount = ioData->mBuffers[bufferIndex].mDataByteSize / sizeof(float); // if you don't have it already
vDSP_vsmul(rawBuffer, 1, &desiredGain, rawBuffer, 1, frameCount);
}

关于ios - 音频单元录音 : increased volume of buffers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11573796/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com