Ogni volta che voglio usare Skype, devo andare nelle preferenze audio. E lì, trasforma l'audio in " webcam " e deseleziona il pulsante " mute ". È abbastanza fastidioso. C'è un modo per mantenere sempre la stessa configurazione?
Ogni volta che voglio usare Skype, devo andare nelle preferenze audio. E lì, trasforma l'audio in " webcam " e deseleziona il pulsante " mute ". È abbastanza fastidioso. C'è un modo per mantenere sempre la stessa configurazione?
Risposte:
Quando si esegue pulseaudio è possibile definire tutte le impostazioni inserendo i file di configurazione personalizzati nella .pulse
directory nascosta nella HOME. Se questi file non esistono ancora, è possibile utilizzare i file standard /etc/pulse/
come modello. La maggior parte delle voci ha spiegazioni verbali in questi file.
~/.pulse/default.pa
per caricare i moduli e definire i valori predefiniti~/.pulse/client.conf
per configurare un client per il server audio~/.pulse/daemon.conf
per definire frequenze di campionamento e bufferPer rendere la tua webcam la fonte predefinita dobbiamo conoscere il nome e il numero di questa fonte guardando l'elenco prodotto dal seguente comando in un terminale:
pacmd list-sources
Quindi modifichiamo la seguente riga in ~/.pulse/default.pa
:
set-default-source [name]
e sostituisci [name]
con il nome o il numero della fonte per la fonte desiderata. Dobbiamo quindi assicurarci che l'origine sia disattivata aggiungendo questa riga:
set-source-mute [name]|[#n]> 0
Dai il nome o l'indice della tua fonte. È possibile aggiungere una varietà di altre impostazioni a cui si fa riferimento nel Wiki PulseAudio (ora nella pagina man:) man pulse-cli-syntax
.
Si consiglia di testare innanzitutto tutti i comandi tramite l'interfaccia della riga di comando prima di modificare i file di configurazione. Questo può essere aperto con pacmd
in un terminale
/etc/pulse/default.pa
. Utilizzare questo file o copiarlo ~/.pulse
prima della modifica.
pacmd list-sources
. Vale a dire con il mio dispositivo lo era set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.
Sono d'accordo che il problema è che Pulseaudio non imposta un dispositivo USB come predefinito perché non è presente all'avvio dell'impulso.
Soo la mia soluzione a questo è di agganciare nel sistema che fa avviso quando si collega un dispositivo USB ... UDEV!
A proposito, queste istruzioni sono leggermente funky e presumo che tu sia a tuo agio a fare cose dalla riga di comando e diventare l'utente root per aggiornare i file udev e rendere eseguibili gli script.
Il primo passo è collegare la tua webcam e trovare il fornitore magico e i numeri di prodotto digitando
lsusb
Sto usando un Microsoft Lifecam, e mostra come
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
la parte importante è 045e: 072d
Quindi, mentre la webcam è collegata, scopri il nome del dispositivo pulseaudio. genere
pacmd list-sources
Ancora una volta, sto cercando la linea che inizia name:
quindi ha qualcosa su una Lifecam Microsoft ... eccola qui
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
così sarà il mio nome del dispositivo pulseaudio alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Quindi ho creato una nuova regola udev che viene attivata quando viene inserito un dispositivo USB con fornitore = 045e e prodotto = 072d. Per creare una regola, crea un nuovo file chiamato /etc/udev/rules.d/
SOMETHING.rules
(ho chiamato il mio file /etc/udev/rules.d/95-webcam-mic.rules
).
Inserisci questa riga nel file
SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"
Ricorda di sostituire ATTR {idVendor} e ATTR {idProduct} con i valori per la tua webcam.
Ciò che questa regola fa è eseguire uno script per impostare il dispositivo USB per l'input, ovvero RUN+="/usr/local/bin/webcam-mic"
parte.
Tempo di visione rapida. Ogni volta che collego la mia webcam voglio eseguire il comando
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Ma il comando deve essere eseguito come me (l'utente che esegue il desktop), ma udev viene eseguito come utente root, quindi quando udev esegue il mio comando ne ho bisogno per passare al mio utente quindi eseguire il comando.
Quindi abbiamo 2 opzioni.
Veloce e sporco . Rendi la regola udev in esecuzione su james -c pacmd set-default-source...
questo è talmente sbagliato che non riesco nemmeno a digitare il comando. E se cambi webcam? E se lo installi per un altro utente?
Leggermente più pulito . Esegui uno script che legge un file predefinito con il nome del dispositivo pulseaudio e il tuo nome utente al suo interno. Se vuoi che i file siano su GitHub. Prima la sceneggiatura /usr/local/bin/webcam-mic
. Il file delle impostazioni predefinite /etc/default/webcam-mic
deve solo definire le 2 variabili della shell, come da commento nella sintesi. Inserisci lo script /usr/local/bin/
e rendilo eseguibile. Quindi inserisci il file delle impostazioni predefinite /etc/defaults/
e modificalo per utilizzare il tuo nome utente e il dispositivo pulseaudio in precedenza.
In bocca al lupo!
La soluzione di Takkat non funzionava per me, ecco la mia soluzione per chiunque abbia ancora problemi con questo.
C'erano due problemi per me con la soluzione di Takkat. Innanzitutto, mi sono reso conto che ci doveva essere un ritardo dopo l'avvio prima che possa avvenire il passaggio al microfono (utilizzo il comando "sleep" nella mia soluzione di seguito). Inoltre, il comando 'set-default-source' funzionava per accendere il microfono USB, ma in qualche modo Skype non lo riconosceva e continuava a usare il microfono interno.
Affinché ciò funzioni, è innanzitutto utile installare pavucontrol. In pavucontrol, apri la scheda 'Configurazione' e osserva cosa succede con i comandi seguenti per verificare che le cose funzionino come previsto.
Quindi, da un terminale inserire:
pacmd
Da lì, inserisci:
list-cards
Nell'output, trova il numero di indice dell'audio USB desiderato (nel mio caso, era "1"). Dai un'occhiata alle linee elencate sotto 'profili' sia per la scheda predefinita che per la scheda USB. Dovrebbero essere uguali a quelli elencati in pavucontrol e possono essere simili a 'ouput: input + output', 'off' o 'input: analog-mono' ecc. Sempre nella riga di comando pacmd, il comando set-card-profile <index number> <profile name>
dovrebbe cambiare le impostazioni in pavucontrol. Quello che vogliamo fare qui è cambiare l'audio interno dal duplex solo all'uscita e dall'USB all'input.
Una volta trovati i profili appropriati, vogliamo creare un comando di avvio per modificare alcune impostazioni subito dopo l'avvio. Per creare un comando di avvio, apri il trattino e cerca "applicazioni di avvio", quindi fai clic su "Aggiungi", quindi inserisci un nome a tua scelta e il comando appropriato di seguito.
Dopo tentativi ed errori, il mio comando di avvio è finito così:
bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"
Spiegazione: Ho scoperto che il comando 'sleep' era necessario, ciò significa che il comando viene eseguito dopo una pausa, che ho impostato su 30 secondi (penso che questo possa essere inferiore, giocarci attorno). Il comando successivo (dopo '&&') è di far passare il profilo della scheda (interno) predefinito da input + output (duplex, che è il default) solo all'output. Il comando successivo è per la scheda audio USB (nel mio caso, il numero è '1') da spegnere. L'ultimo comando è per riaccendere la stessa scheda nella modalità 'input: analog-mono'
Potrebbe essere necessario giocare con queste impostazioni, per trovare quella che funziona.
Ora quando avvio, il mio microfono USB è pronto per l'uso dopo 30 secondi e Skype utilizza il microfono corretto.
prova questo, fai clic sull'icona dell'altoparlante sul pannello superiore, le preferenze di clic. lì puoi selezionare un'opzione di input predefinita per il tuo microfono e probabilmente cambiare alcune configurazioni hardware per farlo funzionare bene.