【发布时间】:2013-05-22 06:29:23
【问题描述】:
在Windows上的python2.7中,我需要获取默认麦克风的名称,它将是一个字符串,例如“麦克风(2-高清音频设备)”。
我的第一次尝试是使用子进程查询 WMI:wmic path Win32_SoundDevice get * /format:list。不幸的是,这似乎返回了扬声器和麦克风,我看不到任何可以让我区分两者的属性。此外,正确设备的名称格式不正确,例如它显示为简单的“高清晰度音频设备”,而不是完整的正确字符串“麦克风(2-高清晰度音频设备)”。
我的第二次尝试是使用 PyAudio(python 绑定到 PortAudio)。打电话给PyAudio().get_default_input_device_info()["name"] 让我非常接近,但不幸的是,这个名字由于某种原因被截断了!返回值为“Microphone (2- High Definition”)(截断为 31 个字符长度)。如果我只能得到这个字符串的非截断版本,那就完美了。
对于获取默认麦克风名称的最简单、最独立的方法有什么想法吗?谢谢!
【问题讨论】:
标签: python windows audio portaudio