我正在运行Debian (技术上是Raspbian),试图获得一个“星际迷航”式的语音命令系统。我已经基本启动和运行,但出于隐私和爵士乐的利益,我不希望我的麦克风总是录音。
我想知道,是否有一种方式来投票哪些进程,如果有的话,目前正在访问麦克风?我的想法是,我会用一个小小的指示器来判断麦克风是否正在录制音频。
我的最终目标是用电视遥控器打开和关闭麦克风,并有一个LED指示灯来显示它是开着还是关着的。我把所有的硬件都搞定了,我现在就需要软件的结束。
我相信现在我是用纯ALSA配置的,即不是PulseAudio,尽管我可能错了。
发布于 2013-06-15 05:58:15
首先,识别您的麦克风设备文件;应该类似于/dev/snd/pcmC0D0c。为了帮助您找到设备文件,您可以使用arecord或类似的方法开始测试记录,然后执行lsof | grep '/dev/snd';它将列出所有程序及其关联的设备文件。
然后可以使用fuser /dev/snd/pcmC0D0c查看麦克风的使用情况。如果打开该设备,它将返回访问该设备的程序的PID。
您可能更喜欢在inotifywait /dev/snd/pcmC0D0c上循环,以检测状态变化,而不是不断轮询设备的状态。
https://unix.stackexchange.com/questions/79483
复制相似问题