据我所知,该脚本按预期工作,问题出在OS X音频输入代码中。当我运行它时,滑块变为0%,通过将鼠标悬停在滑块上进行验证,直到出现工具提示:
这与手动拖动音量滑块相同。
问题似乎是“0%”实际上并不意味着关闭,而是一个非常低的门槛。在一些快速测试中,当音量设置为0时,我可以录制我的手指敲击麦克风附近麦克风套管的声音(在大多数机器上,我相信它在右扬声器格栅周围)。无论我是手动还是通过AppleScript设置滑块,我都可以复制它。它似乎确实足够低,几乎没有任何其他声音被拾取,但显然麦克风并没有真正关闭。
据我所知,没有办法正确静音内置麦克风。如果您的Mac配备了一个线路输入端口,我建议的最好的方法是更改音频输入以使用线路输入。不幸的是,通过AppleScript执行此操作需要一些GUI脚本,但这应该这样做(来源):
tell application "System Preferences"
activate
set current pane to pane id "com.apple.preference.sound"
end tell
tell application "System Events"
tell process "System Preferences"
set frontmost to true
--get properties of UI element of tab group of window "Sound"
click radio button "input" of tab group of window "Sound"
tell row 2 of table 1 of scroll area 1 of tab group 1 of window "Sound" to set selected to true
end tell
end tell
如果您有两个以上的标准音频输入(麦克风和线路输入),您可能需要row 2
根据输入首选项中的顺序将数字更改为适当的数字。