所有操作系统的默认扬声器输出

Default speaker output for all OSes

我以前一直在使用 pyaudio 从系统(不是麦克风)音频输出中获取声音,但必须手动指定系统输出设备 ID。 默认 设备名称 是否有用于所有操作系统 的内部系统音频输出?

例如,在 Record speakers output with PyAudio 中,我看到用户 macost 建议使用:“Stereo Mix (Realtek(R) Audio)”,但该 ID 对所有 OS 通用吗?

for i in range(p.get_device_count()):
    dev = p.get_device_info_by_index(i)
    if (dev['name'] == 'Stereo Mix (Realtek(R) Audio)' and dev['hostApi'] == 0): # THIS LINE
        dev_index = dev['index'];
        print('dev_index', dev_index)

Record speakers output with PyAudio 找到代码, 但想知道Realtek ID是不是通用的。

谢谢!

在获得更多经验后,我明白要求 PC 在任何 OS 上 select 默认扬声器太过分了。 更好的方法是让您的用户通过提供可用设备列表来选择麦克风和扬声器,并让他们检查它是否按预期工作:

  • 首先,让他们通过发出 ping 信号或来自用户的任何其他声音来检查扬声器 selected 可能 扬声器设备
  • 对于麦克风,让他们自己录音并听取输出,如果正确的话

做起来很简单,可以在任何常见的视频通话应用程序中看到它的演示,例如 Zoom。