Utilizzo di Apple Script per gestire la selezione dell'uscita audio

6

Sono nuovo di zecca qui e ho un ulteriore chiarimento o ho bisogno di ulteriore aiuto per un problema da questo thread - Applescript: "can ottenere il gruppo di schede 1 della finestra "(El Capitan)

Nel mio pannello delle preferenze, oltre a cuffie e uscita digitale, ho anche 2 monitor Apple e vorrei selezionare uno di questi come out put (ovvero il primo della lista).

Fondamentalmente ho bisogno di aiuto per regolare la sua soluzione in modo da poter selezionare la terza riga o il primo monitor come uscita audio. O un modo per farlo senza sapere come modificare AppleScript per una configurazione diversa.

    
posta JRTemp 25.11.2015 - 20:54
fonte

3 risposte

4

Con una piccola sperimentazione sulla sceneggiatura di Arthur Hammer ho scoperto che le righe set deviceselected to "xyz" sembrano essere solo feedback visivi mentre in Script Editor & non sembra essere parte della funzionalità effettiva.

La commutazione effettiva sembra essere solo tra 2 linee selezionate nel Pannello di controllo; quindi, se hai solo bisogno di passare tra due uscite, puoi semplicemente usare i numeri di riga.

In questo esempio li ho estrapolati per essere variabili, quindi non è necessario approfondire lo script per modificare le linee richieste ...

Dato che hai più di 2 uscite, la prima volta che la cambierai non andrà necessariamente da / verso il dispositivo corretto, ma dopodiché.

Ad esempio, se si desidera passare tra le uscite 3 e amp; 4, ancora 2 era attualmente selezionato, il primo cambiamento sarebbe da "non 3" in contrapposizione a "è 3" [spero tu capisca quella spiegazione contorta]

(*
Applescript to toggle between two sound outputs by Line number, ¬
as they appear in the Sound Control Panel. Based on code by ¬
Arthur Hammer http://apple.stackexchange.com/a/209434/85275
*)

set outputA to 3 --change this to the actual 'line number' of your first desired output
set outputB to 4 --change this to the actual 'line number' of your second desired output
--the rest of the script will use these vales as a switch

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"
        repeat until exists tab group 1 of window "Sound"
        end repeat
        tell tab group 1 of window "Sound"
            click radio button "Output"
            if (selected of row outputA of table 1 of scroll area 1) then
                set selected of row outputB of table 1 of scroll area 1 to true
            else
                set selected of row outputA of table 1 of scroll area 1 to true
            end if
        end tell
    end tell
end tell
--tell application "System Preferences" to quit
--remove the comment '--' tag above to make the control panel quit afterwards, leave for testing.

Forse un piccolo chiarimento pittorico - usando lo script precedente con outputA = 3 & outputB = 4, ora posso passare da Digital Out & TonePort UX2.

Un'altra nota: i numeri di riga non devono essere consecutivi, potrei facilmente passare da Altoparlanti interni a ampli; TonePort usando le linee 1 & 4.

    
risposta data 04.12.2015 - 13:41
fonte
3

@Tetsujin: grazie per questa soluzione. Funziona perfettamente. Lo sto usando per passare dall'audio integrato (per quando sto codificando per lavoro) e alla mia scheda Universal Audio Apollo (per quando sto facendo produzione musicale). Dato che il dispositivo UAudio offre anche un'opzione microfonica di input superiore, ho aggiunto l'ovvio switch di input anche dopo la sezione "Output":

    click radio button "Input"
    if (selected of row outputA of table 1 of scroll area 1) then
       set selected of row outputB of table 1 of scroll area 1 to true
    else
       set selected of row outputA of table 1 of scroll area 1 to true
    end if
    
risposta data 10.10.2016 - 22:55
fonte
1

Non sono in grado di indovinare un AppleScript generale, ma mi piace e utilizzo Automator per registrare i passaggi necessari.

Apri lo strumento e crea un nuovo flusso di lavoro. Quindi premere il pulsante di registrazione. Puoi quindi registrare la sequenza utilizzata per aprire le Preferenze di Sistema, selezionare il pannello che desideri, selezionare l'audio che desideri e quindi terminare la registrazione.

Di solito puoi controllare le azioni e ritagliarle o aggiungere ritardi se necessario usando Automator e non avrai bisogno di sapere come programmare le righe e gli elementi in Applescript.

    
risposta data 25.11.2015 - 22:48
fonte

Leggi altre domande sui tag