我开始为 Android 实现 Oboe c++ 库。(根据使用双簧管构建音乐游戏, 我只是缩放样本以增加音量,它可以工作,但会发出噼啪声。我可以增加幅度而不会产生噼啪声吗?我试图用一点增益来保存我的样本声音,但是听起来很糟糕。谢谢。
顺便说一句,在不增加音量的情况下,与其他音乐应用程序相比,它听起来清晰但音量非常低。
for (int i = 0; i < mNextFreeTrackIndex; ++i) {
mTracks[i]->renderAudio(mixingBuffer, numFrames);
for (int j = 0; j < numFrames * kChannelCount; ++j) {
audioData[j] += (mixingBuffer[j] * ((float)volume));
}
编辑:
int16_t Mixer::hardLimiter(int16_t sample) {
int16_t audioData = sample * volume;
if(audioData >= INT16_MAX){
return INT16_MAX;
}else if(audioData <= INT16_MIN){
return INT16_MIN;
}
return audioData;
};