通过 Python 选择音频设备进行播放

Posted

技术标签:

【中文标题】通过 Python 选择音频设备进行播放【英文标题】:Selecting audio device for playback via Python 【发布时间】:2016-08-25 14:14:47 【问题描述】:

如何获取 linux 中的音频设备列表(如aplay -L)并选择音频设备进行输出?有要导入的库吗?他们已经进口了吗?

【问题讨论】:

【参考方案1】:

我在编写声音均衡器时搜索了您所要求的内容,但从未找到满意的答案。 有一个可用的 alsaaudio 库:

import alsaaudio   #alternative method pure python
for device_number, card_name in enumerate(alsaaudio.cards()):
    print device_number, card_name

我最终在命令行上敲击pacmdcat 选项,检索并解析结果以发现是什么。 示例:

    sink_list = os.popen('cat /proc/asound/cards | grep "\[" | cut -c2').readlines()
    for s in sink_list:
        s = s.strip()
        self.sinks_available.append("hw:"+s)

对于pulseaudio,您需要pacmd

# Identify the default sound card device
    sink = os.popen('pacmd list | grep "device.master_device" | cut --delimiter== -f2').readline()
    if sink =="":
        sink = os.popen('pacmd list-cards | grep -C1 sinks | grep pci | cut --delimiter=/ -f1').readline()

这一切都是最令人不满意的,不像蟒蛇,但当魔鬼开车时必须这样做

【讨论】:

以上是关于通过 Python 选择音频设备进行播放的主要内容,如果未能解决你的问题,请参考以下文章

OpenHarmony音频开发

OpenHarmony音频开发

实时音频流到移动设备 - 动态播放速度

c#/.NET - 录制当前正在播放的音频

通过 html 音频标签在移动浏览器上播放音频

修改 SpeakHere 以录制设备上播放的音频