Ho anche avuto questo problema durante l'aggiornamento di Xubuntu 14.04 a Xubuntu 16.04 (le cuffie producevano suono, ma non gli altoparlanti). Ho una scheda audio Intel HD con un chip Realtek ALC259. Il problema persisteva durante l'avvio con vari kernel da 3.13.X a 4.10.X.
Tuttavia, l'ho ottenuto risolto, ed ecco come:
È importante capire che Pulseaudio (PA) è il sistema di controllo del suono predefinito per Ubuntu e la maggior parte (tutte?) Delle sue varianti. La PA è essenzialmente e si sovrappone al sistema audio ALSA principale. Quindi, per ogni azione fatta in PA, c'è una successiva reazione all'interno di ALSA. Per ogni uscita (nota anche come porta) definita all'interno di PA, esiste una regolazione definita per il sistema ALSA. Questa regolazione è nota come "percorso di miscelazione".
!!! IMPORTANTE !!!
Prima di continuare, ora è un buon momento per verificare che questo sia effettivamente il tuo problema e non ci sono altri motivi per cui i tuoi altoparlanti non funzionano. Puoi farlo molto facilmente eseguendo il seguente test. (Se hai avuto problemi con il tuo sistema audio, potresti voler ripristinarlo ai valori predefiniti prima del test):
- Scollegare eventuali cuffie o altri dispositivi audio TRANNE gli altoparlanti che NON funzionano.
- Inizia a riprodurre un file audio che normalmente genererebbe l'audio dagli altoparlanti, anche se al momento non lo è. Poi,
Apri il tuo terminale ed esegui il comando:
alsamixer
Dovresti vedere quanto segue:
A causa delle differenze tra le schede audio, i tuoi dispositivi potrebbero essere leggermente diversi da quelli nell'immagine. Nel mio caso, e prima di risolvere il problema, il mio alsamixer sembrava proprio l'immagine sopra.
- Riattiva l'audio di tutti i dispositivi attualmente disattivati (usa il tasto 'm' per disattivare l'audio). Quindi aumentare i cursori del volume su tutti i dispositivi che non sono al 100%.
Se riesci a sentire l'audio dai tuoi altoparlanti, questa soluzione è per te!
Se non senti alcun suono, torna a "Google" e continua a cercare. Questo metodo NON ti aiuterà.
Se hai ottenuto correttamente l'audio da quanto sopra il test, quello che dobbiamo fare ora è giocare con le impostazioni di alsamixer per determinare:
- Quale controllo del volume del dispositivo controlla effettivamente il volume degli altoparlanti e
- Quale dispositivo deve essere disattivato per il funzionamento degli altoparlanti. Potrebbe essere necessario riattivare l'audio di più dispositivi.
Una volta che conosciamo le impostazioni ALSA con cui gli altoparlanti funzioneranno, possiamo usare queste informazioni per apportare le modifiche necessarie ai nostri percorsi del mixer PA.
Nel mio caso, ho scoperto che le mie cuffie e gli altoparlanti sono collegati all'interno di ALSA nei seguenti modi:
- Il volume delle cuffie è controllato dal dispositivo "Cuffie".
- Per ottenere l'audio dalle mie cuffie è necessario che i dispositivi "Master" e "Cuffie" siano disattivati.
- Il volume degli altoparlanti è ANCHE controllato dal dispositivo "Cuffie". (L'impostazione del volume dell'altoparlante ALSA sorprendentemente non ha alcun effetto sul volume del mio oratore.)
- Per ottenere l'audio dai miei altoparlanti è necessario che i dispositivi "Master" e "Speaker" siano disattivati.
Il percorso predefinito del mixer dell'oratore all'interno di PulseAudio (PA) presupponeva che i miei altoparlanti fossero indipendenti dalle mie cuffie. Il che, come dimostrato sopra dall'osservazione 3, non era il caso. Successivamente, il percorso del mixer predefinito in PA per i miei altoparlanti ha apportato le seguenti modifiche problematiche all'interno di ALSA ogni volta che l'uscita degli altoparlanti è stata selezionata in PA:
- Abbassato il volume delle cuffie su 0.
- Impostare il dispositivo altoparlante come controllo del volume.
Dato come avevo osservato il collegamento di ALSA dei miei altoparlanti e cuffie come descritto in precedenza, queste modifiche ad ALSA avrebbero impedito al suono di uscire dai miei altoparlanti.
Quindi, la soluzione a questo problema si ottiene modificando il percorso del mixer dell'altoparlante.
I file di percorso del mixer PA si trovano in:
/ Usr / share / PulseAudio / alsa-mixer / percorsi /
Per determinare quale file del percorso del mixer controlla i tuoi altoparlanti, devi:
Assicurarsi che l'uscita dei diffusori sia selezionata in PA (cioè non nelle cuffie).
Apri un terminale ed esegui il seguente comando:
pactl list | grep 'Active Port.*output.*'
Dovrebbe produrre qualcosa che assomiglia a questo:
Porta attiva: audiotipo -output- dispositivo
vale a dire
La "porta attiva" è la porta PA che attualmente controlla le impostazioni ALSA. Dato che hai già selezionato il tuo altoparlante come uscita PA, questo output dal comando terminale ti dice che devi modificare il file del percorso del mixer audiotype -output- device .conf. Nel mio caso, il file del percorso del mixer era analog-output-speaker.conf.
Ora che abbiamo il file del percorso del mixer corretto, dobbiamo apportare le nostre modifiche.
NOTA: all'interno di questa cartella dei percorsi del mixer, c'è un file chiamato 'analog-output.conf.common'. Il contenuto di questo file spiega come vengono interpretati i file del percorso del mixer. Se desideri comprendere le seguenti modifiche, ti consiglio vivamente di guardare questo file prima di modificare i percorsi del tuo mixer!
Ogni file di percorso del mixer contiene numerosi "Elementi". Idealmente, c'è un elemento che rappresenta ogni dispositivo ALSA sul tuo computer all'interno di ciascuno dei file. Probabilmente ci sono elementi che non hai anche. E 'normale.
Nel mio caso, avevo bisogno di cambiare gli elementi Cuffie e Altoparlanti nel percorso del mixer per analog-output-speaker.conf nei seguenti modi:
- Consenti al volume PA di regolare il volume ALSA delle cuffie.
Originale:
[Element Headphone]
switch = off
volume = off
Modificato:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
- (Opzionale) Impostare il volume degli altoparlanti su off e impedire che il volume PA influisca sul volume ALSA. (Se non lo fai, il tuo suono continuerà a funzionare, ma le impostazioni degli altoparlanti all'interno di ALSA rimbalzeranno inconsapevolmente.)
Originale:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Modificato:
[Element Speaker]
required-any = any
switch = mute
volume = off
Quindi, riavviare PA eseguendo:
pulseaudio -k && pulseaudio --start
Ecco!