Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经.wav使用 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”产生了这个代码示例。不知道它有多好,但可以用来玩弄这片土地。你会在这个游戏开发问题中找到更多关于它的信息。