使用 Superpowered sdk 静音 Left/Right 音频效果
Mute Left/Right Audio Effect using Superpowered sdk
我已经成功集成了超级CrossExample,现在我需要应用静音right/left音频效果,我已经检查了
SuperpoweredMixer.h , SuperpoweredSimple.h
这些文件但是找不到相关的方法来应用这个效果,
那么还有其他方法可以做到这一点吗?
只需将每个偶数或奇数样本归零,在打开或关闭时使用一些简单的斜坡以防止 'clicks'。
Superpowered 并没有真正为这么小的任务提供功能。您可以使用 SuperpoweredStereoMixer 来完成,但对于这个简单的工作来说它可能太复杂了。
这是代码片段
bool Tempo::process(short int *output, unsigned int numberOfSamples) {
bool silence = !playerA->process(stereoBuffer, false, numberOfSamples, volA);
echo->process(stereoBuffer, stereoBuffer, numberOfSamples);
reverb->process(stereoBuffer, stereoBuffer, numberOfSamples);
float *mixerInputs[4] = {stereoBuffer, NULL, NULL, NULL};
float *mixerOutputs[2] = {stereoBuffer, NULL};
float mixerInputLevels[8] = {1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
float mixerOutputLevels[2] = {left, right};
mixer->process(mixerInputs, mixerOutputs, mixerInputLevels, mixerOutputLevels, NULL, NULL,
numberOfSamples);
if (!silence) {
SuperpoweredFloatToShortInt(mixerOutputs[0], output, numberOfSamples);
}
return !silence;
}
我已经成功集成了超级CrossExample,现在我需要应用静音right/left音频效果,我已经检查了
SuperpoweredMixer.h , SuperpoweredSimple.h
这些文件但是找不到相关的方法来应用这个效果,
那么还有其他方法可以做到这一点吗?
只需将每个偶数或奇数样本归零,在打开或关闭时使用一些简单的斜坡以防止 'clicks'。
Superpowered 并没有真正为这么小的任务提供功能。您可以使用 SuperpoweredStereoMixer 来完成,但对于这个简单的工作来说它可能太复杂了。
这是代码片段
bool Tempo::process(short int *output, unsigned int numberOfSamples) {
bool silence = !playerA->process(stereoBuffer, false, numberOfSamples, volA);
echo->process(stereoBuffer, stereoBuffer, numberOfSamples);
reverb->process(stereoBuffer, stereoBuffer, numberOfSamples);
float *mixerInputs[4] = {stereoBuffer, NULL, NULL, NULL};
float *mixerOutputs[2] = {stereoBuffer, NULL};
float mixerInputLevels[8] = {1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
float mixerOutputLevels[2] = {left, right};
mixer->process(mixerInputs, mixerOutputs, mixerInputLevels, mixerOutputLevels, NULL, NULL,
numberOfSamples);
if (!silence) {
SuperpoweredFloatToShortInt(mixerOutputs[0], output, numberOfSamples);
}
return !silence;
}