【问题标题】:Is there a way in Python to check for programs playing audioPython中有没有办法检查播放音频的程序
【发布时间】:2021-01-06 18:54:29
【问题描述】:

我想在后台运行一个小脚本,如果任何其他程序开始播放音频,它将暂停 Spotify 音乐 - 例如视频、浏览器、游戏……

即使没有使用 win32api 和 SendMessage 的 API,我的 spotify 部分也能正常工作,但是我似乎找不到任何方法来检查其他程序是否正在播放音频。

我尝试查看 windows 混音器,甚至可能查看插孔连接器,什么都没有..

这是它的代码,但它缺少检查功能和循环

奖励点,如果你看到一个程序做这件事,我全力以赴,它甚至被建议给 Spotify,但他们从未回应。


def f_click(pycwnd):
        x=800
        y=840
        lParam = y << 16 | x
        pycwnd.SendMessage(win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lParam);
        pycwnd.SendMessage(win32con.WM_LBUTTONUP, 0, lParam);

def get_whndl():
        whndl = win32gui.FindWindowEx(0, 0, None, 'Spotify Premium')
        return whndl

def make_pycwnd(hwnd):       
        PyCWnd = win32ui.CreateWindowFromHandle(hwnd)
        return PyCWnd
        
whndl = get_whndl()
pycwnd = make_pycwnd(whndl)
f_click(pycwnd)

【问题讨论】:

标签: python audio spotify


【解决方案1】:

您可以使用 Mic,它也可以帮助您通过嘴发出语音命令。

import numpy as np
import sounddevice as sd


def is_sound_playing_windows():
    duration = 1000  # in seconds
    recording = sd.rec(int(duration), channels=2, blocking=True)
    volume_norm = np.linalg.norm(recording) * 10
    res = int(volume_norm)
    return res >= 3  # tweak it depending on your typing noise 

对于 Windows,我还没有找到一种方法来以编程方式检查是否有任何软件在产生声音。这也很困难,因为我有开放的网站也提供静音功能,所以 Windows 可能不知道它们实际上是静音的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2012-03-20
    • 2020-01-01
    相关资源
    最近更新 更多