Как использовать Applescript для изменения значения ползунка панели настроек? - PullRequest
1 голос
/ 28 мая 2011

Я пытаюсь создать AppleScript для установки значения Громкость входа из категории Вход в меню Звук в Системные настройки .

Как изменить значение ползунка?

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.sound"
end tell
tell application "System Events"
if UI elements enabled then
    try
        tell application process "System Preferences"
            tell tab group 1 of window "Sound"
                click radio button "Input"
                select row 1 of table 1 of scroll area 1
                set selected of row 1 of table 1 of scroll area 1 to true
                set deviceselected to "Microphone"
                set slider "Input Volume" of group "Input Volume" of tab group "Input" to 0
                select row 2 of table 1 of scroll area 1
                set selected of row 2 of table 1 of scroll area 1 to true
                set deviceselected to "Microphone"
                set slider "Input Volume" of group "Input Volume" of tab group "Input" to 0


            end tell
        end tell
    end try
end if
end tell

Это не похоже на работу. Я также попытался использовать Accessibility Inspector , чтобы выяснить, как иерархически получить доступ к элементам следующим образом,

 value of slider of group "Input volume" of tab group "Input" of window "Sound" 

Это тоже не совсем правильный путь.

Что здесь не так?

EDIT

set content of slider "Input volume" of tab group "Input" of window "Sound" of tab group     1 of window "Sound" of application process "System Preferences" to 0
        --> error number -1700 from content of slider "Input volume" of tab group "Input" of window "Sound" of tab group 1 of window "Sound" of application  **

Так что возвращает ошибку. Я не могу найти описание для кода ошибки -1700, что это значит?

Ответы [ 3 ]

3 голосов
/ 29 мая 2011

Вы можете получить доступ к настройкам громкости напрямую, без использования сценариев GUI. Эти команды находятся в стандартных дополнениях osax of applecript. Чтобы увидеть настройки громкости, вы можете изменить это. Обратите внимание, что в команде требуется слово «get».

get volume settings

Глядя на эти результаты, вы видите, что входная громкость является одной из настроек громкости, к которой вы можете получить доступ. Это значение от 0 до 100. Вот как вы можете установить его ...

set volume input volume 64

Вышеприведенная команда немного странная, потому что в этой команде нет слова "to". Вы не устанавливаете громкость на что-то, так что это странно. В любом случае, удачи!

РЕДАКТИРОВАТЬ: Вот как получить к нему доступ с помощью сценариев GUI. Также, если вы хотите узнать коды ошибок, я разместил скрипт для этого здесь . Смотрите пост # 9 для последней версии.

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.sound"
end tell

tell application "System Events"
    tell application process "System Preferences"
        tell tab group 1 of window "Sound"
            click radio button "Input"
            get value of slider 1 of group 2
        end tell
    end tell
end tell
0 голосов
/ 26 августа 2015

Слайдерами можно управлять с помощью действий increment и decrement.Таким образом, вы можете просто повторять, пока не достигнете желаемого уровня.В этом примере для громкости звуковых эффектов устанавливается значение 0.5

tell application "System Preferences"

    tell anchor "effects" of pane "com.apple.preference.sound" to reveal

    tell application "System Events" to tell process "System Preferences"
        set s to slider "Alert volume:" of tab group 1 of window 1
        repeat while value of s is less than 0.5
            increment s
        end repeat
        repeat while value of s is greater than 0.5
            decrement s
        end repeat

    end tell

end tell
.
0 голосов
/ 28 мая 2011
set content of slider "Input volume" to x
...