我已经使用 XAudio2 (Windows 8.1) 将.wav
音频加载到缓冲区中,要播放它,我只需要使用:
//start consuming audio in the source voice
/* IXAudio2SourceVoice* */ g_source->Start();
//play the sound
g_source->SubmitSourceBuffer(buffer.xaBuffer());
我想知道,如何使用 XAudio2 获取给定时间的频率值?
这个问题没有多大意义,.wav文件包含很多频率。 正是它们的融合使它听起来像音乐,而不仅仅是人工生成的音调。 一种不断变化的混合物。
需要信号处理步骤将.wav文件中的样本从时域转换为频域。 通常称为频谱分析,快速傅立叶变换(FFT)是标准技术。
谷歌对"xaudio2 fft"的随机点击产生了这个代码示例。 不知道它有多好,但可以玩一些东西来获得土地的布局。 您将在此游戏开发问题中找到有关它的更多信息。