El balance de sonido cambia constantemente en High Sierra y Mojave

3

Tengo un problema: cada vez que reconectaba mi Bose QC35 II, el balance de sonido estaba a la derecha en lugar de equilibrado en el medio.

    
pregunta J. Overmars 26.11.2018 - 09:24

1 respuesta

4

Así que encontré una solución en Reddit con AppleScript, pero esto no funcionó completamente porque me estaba lanzando errores alguna vez: "System Events got an error: Can’t get tab group 1 of window 1 of process \"System Preferences\". Invalid index." number -1719 from tab group 1 of window 1 of process "System Preferences"

fuente original del código: enlace

Código original:

tell application "System Preferences"
     activate
     reveal anchor "output" of pane id "com.apple.preference.sound"
end tell
tell application "System Events"
     tell slider 1 of group 1 of tab group 1 of window 1 of process "System Preferences"
          set value to 0.5
     end tell
end tell
tell application "System Preferences"
     quit
end tell

Código de trabajo

Hice algunos cambios en el código:

tell application "System Preferences"
    activate
    reveal anchor "output" of pane id "com.apple.preference.sound"
end tell

tell application "System Events"
    tell application process "System Preferences"
        repeat until exists tab group 1 of window "Sound"
        end repeat
        tell slider 1 of group 1 of tab group 1 of window "Sound"
            set value to 0.5
        end tell

    end tell
end tell

tell application "System Preferences"
    quit
end tell

He guardado mi código en ~/Applications/FixSoundBalance.applescript

Forma de trabajo crónico

E hizo un crontab crontab -e con el valor:

*/5 * * * * /usr/bin/osascript ~/Applications/FixSoundBalance.applescript >/dev/null 2>&1

Y en Mojave, debe conceder a Cron permisos por primera vez para acceder a Accesibilidad (en Seguridad y privacidad, privacidad de la pestaña), después de eso, funciona bien.

Alfred way

Cuando usas el enlace de alfredapp, puedes configurar el Features -> Default Results -> Extras la casilla de verificación AppleScripts y luego cuando buscas Fix ... obtienes el script como resultado y puedes ejecutarlo directamente. Entonces no es necesario configurar un cronjob.

    
respondido por el J. Overmars 26.11.2018 - 09:24

Lea otras preguntas en las etiquetas