我正在尝试使用FMOD开发一个应用程序,该应用程序有望比正常播放音频的速度更慢,以便用户可以更清楚地听到音频。在我的代码中,我这样调用 Channel::setFrequency :

float normal_frequency;
channel->getFrequency(&normal_frequency);
channel->setFrequency(normal_frequency * speedSelected);

如果 speedSelected 的值小于1,例如0.8,则音频的播放确实比正常播放的速度慢,但是声音听起来确实很奇怪。缓慢播放并不能使我听得更清楚。

相比之下,当Microsoft的 Windows Media Player 播放音频的速度比正常播放速度慢时,其效果最佳。

有办法解决这个问题吗?

最佳答案

如果用“声音确实很奇怪”来表示音高已经改变,那么这就是预期的结果。如果要在调节速度时校正音高,则需要使用音高移位器DSP。

关于audio - FMOD中的setFrequency不能令人满意地工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30042800/

10-11 19:36