答案 0 :(得分:2)
在Qt附带的Spectrum Analyzer示例中(在演示/频谱目录中),有一些代码能够完成您所询问的两件事(计算峰值幅度和绘制音频波形)。
此演示还计算并显示频谱。正如另一位评论者指出的那样,这与波形图不同:频谱是幅度与频率的关系图,而波形则是幅度与时间的关系曲线。
该演示使用QtMultimedia而不是Phonon来捕获和呈现音频。如果您只对播放音频感兴趣,并且不需要录制音频,Phonon可能就足够了,但请注意,并非所有平台都提供流媒体支持(即Phonon::MediaSource(QIODevice *)
)。另一方面,QAudioInput
和QAudioOutput
在Qt所针对的所有主要平台上得到很好的支持,至少对于PCM音频数据而言。