QT 5.7 分析音频输出

Posted

技术标签:

【中文标题】QT 5.7 分析音频输出【英文标题】:QT 5.7 Analyze audio output 【发布时间】:2017-01-15 15:03:54 【问题描述】:

首先,对不起我的英语。

其次,我有一个问题: 我在 win7x64 下运行 QT 5.7。我的想法是创建一个可以可视化(例如频谱)音频的程序。但是,我看到的所有示例都解释了如何分析声音来自麦克风或在此示例中播放的文件。

我的目的是捕捉人们从扬声器(或耳机)听到的声音 - 所有声音,包括系统哔声、来自任何播放器(vlc、winamp,甚至 windows media)的任何音频 - 并制作音频频谱。

我读过 QtMultimedia,但据我了解,它只能从麦克风或文件中获取频谱。

到目前为止,我找到了bass.dll,但正如我所见 - 它可以从系统输出设备记录,然后获取频谱(非实时) - 对吗?

您能否解释一下,如何获取从扬声器实时播放的音频?任何例子都会很好。或者至少链接到我可以阅读的地方。 (5 小时的谷歌搜索并没有真正的帮助)

非常感谢。

【问题讨论】:

Is it possible to grab a pointer to the default audio endpoint device buffer in Windows 7?的可能重复 您的基本问题与光谱分析无关。要解决这个问题,只需编写最简单的 C++ 程序,即可利用操作系统的音频驱动程序从那里获取流。之前的评论者向您指出了一种 Windows 方法。 Soundflower 是我之前在 Mac 上使用过的东西,它会创建一个新的虚拟声卡,如果你指示应用程序使用它,它会让你利用它们的音频输出。 【参考方案1】:

最后,我想,我找到了解决办法。

有兴趣的可以看看this页面。有一个用 C# 编写的简单程序,它使用 Bass.dll 并完全按照我的意愿进行操作。即使是不同语言的资源,我希望它可以帮助任何人编写自己的应用程序

【讨论】:

以上是关于QT 5.7 分析音频输出的主要内容,如果未能解决你的问题,请参考以下文章

Qt之调用FFTW3实现音频频谱(实现)

Ijkplayer播放器源码分析之音视频输出——音频篇

FFmpeg+Qt开发解码流程 详细分析+代码示例

音频分析合成中的重叠添加

编码(ACSII unicod UTF-8)QT输出中文乱码深入分析

使用 Qt/Phonon 的多声道音频输入