Python在python / linux中拦截/读取音频输出级别

Posted

技术标签:

【中文标题】Python在python / linux中拦截/读取音频输出级别【英文标题】:Python Intercepting/reading audio output level in python/linux 【发布时间】:2014-02-26 21:01:53 【问题描述】:

我正在尝试编写一些东西来捕捉正在播放到扬声器/耳机/声卡的音频,并查看它是否正在播放以及最长的静音时间是多少。这是为了测试正在执行的应用程序并查看它是否在某个点之后停止播放音频,因此我实际上并不需要真正知道音频本身是什么,只需要知道是否有音频播放。

我需要它是完全编程的(因此不需要使用 GUI 工具或类似工具来设置环境)。我知道像 projectM 这样的应用程序可以做到这一点,但我一生都无法在任何地方找到任何表明如何做的东西。

音频电平表也适用于此,示波器数据或类似数据确实会接受任何建议。

【问题讨论】:

我们应该做更多有用的编辑! 我不明白那句话是什么意思。 对此进行了更新,我最终只是使用 pulseaudio 绑定来解决此问题。通过链接:freshfoo.com/blog/pulseaudio_monitoring 【参考方案1】:

这是一个非常相似的问题:record output sound in python

您可以尝试使用jack 将您的输出路由到新设备,并使用portaudio 进行记录。有用于 portaudio 的 Python 绑定称为 pyaudio 和用于 jack 的称为 PyJack。我从未使用过后者,但 pyaudio 效果很好。


【讨论】:

我已经看过那篇文章,以及一个使用 PulseAudio 的示例(它更简单)。千斤顶解决方案有点太多了,因为它必须在系统上安装服务器,我不希望每个人都必须处理这个问题。 pulseaudio 稍微好一点,但仍然需要一个库。我希望寻找一个纯 python 的解决方案,也许是一个使用 OSS 或更核心的 python 的解决方案?

以上是关于Python在python / linux中拦截/读取音频输出级别的主要内容,如果未能解决你的问题,请参考以下文章

解决Linux 安装python3 .5 解决pip 安装无法成功问题ssl安全拦截无法pip安装库问题

在 Python 中拦截方法调用

LINUX对shell命令的拦截

拦截 Python 中的所有日志记录

[转]使用 mitmproxy + python 做拦截代理

python 使用python的网站拦截器