我正在我的python程序(在Linux上)中编写一个片段,允许用户录制一个短音频文件。当然,代码的第一步是检查是否有麦克风。不幸的是,我很难做到这一点。你知道吗
我希望它独立于:
- USB麦克风的型号
- 它和任何其他音频设备插入/枚举的顺序
- 设备是热插拔还是冷插拔
这可能吗?我考虑过:
- udev规则和“udevadm info”命令(与上面的第1项和第3项冲突)
- aplay/arecord(使用--device选项指定设备与项2冲突)
- lsusb命令(与1冲突)
- 检查/dev和/sys目录中的特定设备节点或文件(与1和2冲突)
这超出了我linux知识的极限,因此我很有可能对上述潜在冲突做出了一些错误的假设。你知道吗
Tags:
这比你想象的要复杂。使用pyaudio包可以相对容易地发现可用的输入设备。。。你知道吗
…但在我的系统中,至少有四种不同的输入设备…一种是会议麦克风,一种是耳机的麦克风输入,一种是相机上的麦克风,还有一种是USB声音设备上的麦克风,我只用来驱动一组扬声器。没有办法通过编程来决定我到底想用哪一个。你知道吗
如果您假设一个简单的设置(例如,只有一个麦克风),您可以让PyAudio录制,它将使用默认的输入设备。有关更多详细信息,请参见PyAudio文档中的示例:
这似乎符合你的要求。如果没有可用的输入设备,这将失败:
相关问题 更多 >
编程相关推荐