首页 > 解决方案 > 检查 MacOS 当前的声音输出是光学的还是模拟的?

问题描述

有没有办法从Applescript 获取MacOS 中当前的活动声音输出连接,可能使用 shell/cocoa/python 命令?我看到了一些库来执行强大的脚本,但我只想检索一个值,我不想安装库。我还看到自动机脚本打开系统偏好设置,然后单击选项卡......但我不喜欢这种解决方案。

换句话说,我想知道我的主动声音输出是光学的还是模拟的,以便正确修改输出音量:如果输出是模拟的,我可以在 Finder 中修改输出音量,否则我必须在iTunes。

标签: pythonmacosshellcocoaapplescript

解决方案


我发现了一个纯 Applescript 解决方法,基于不能用光学迷你插孔读取输出音量的事实:

on isOpticalSoundOutput() -- returns boolean
    local outputVolume
    tell application "Finder"
        try
            set outputVolume to the output volume of (get volume settings)
        end try
        return (outputVolume = missing value)
    end tell
end isOpticalSoundOutput

它有效,尽管我有一个 Applescript“特权违规 -10004.


推荐阅读