如何编写Bash脚本检测耳机自带静音键的麦克风状态
检测耳机麦克风静音状态的Bash脚本解决方案
我的耳机带有静音键但无状态指示灯,因此想要编写Bash脚本检测麦克风是否处于开启状态。
最初编写的无效脚本如下:
#!/bin/bash echo "Mic Check" timeout 2 pacat -r ./testmic -d 2 FILENAME=./testmic FILESIZE=$(stat -c%s "$FILENAME") killall pacat if (( $FILESIZE <= 100 )); then echo "Mic Muted..." else echo "Mic not Muted..." fi
该脚本会生成testmic文件:麦克风静音时文件为空,未静音时包含音频编码,但无论文件是否为空,$FILESIZE返回值始终相同,无法区分状态。且我希望利用耳机自身的静音系统,而非系统级静音。
最终通过以下脚本解决了问题:
#!/bin/bash echo "Mic Check" timeout 2 pacat -r ./testmic -d 2 FILECONTENT=$(grep -L -z -e . testmic) killall pacat if [[ "$FILECONTENT" == "testmic" ]]; then echo "Mic Muted." else echo "Mic not Muted." fi
内容的提问来源于stack exchange,提问作者0110k011
相关产品推荐
相关产品推荐

