在 AudioUnit 渲染回調中,對 PCM 數據逐樣本乘以增益係數 (如 2.0f),注意防止溢出剪裁。
// 渲染回調內
Float32 *buf = (Float32*)ioData->mBuffers[0].mData;
for (UInt32 i = 0; i < inNumberFrames; ++i) {
Float32 sample = buf[i] * gain; // gain > 1.0 放大
buf[i] = fmaxf(fminf(sample, 1.0f), -1.0f); // 限幅
}
使用 AVAudioEngine + AVAudioMixerNode 設置 volume 屬性,更高層、更簡單。