Ich hatte auch dieses Problem beim Upgrade meines Xubuntu 14.04 auf Xubuntu 16.04 (Kopfhörer erzeugten Ton, aber nicht die Lautsprecher). Ich habe eine HD Intel Soundkarte mit einem Realtek ALC259 Chip. Das Problem blieb beim Booten mit verschiedenen Kerneln von 3.13.X bis 4.10.X bestehen.
Ich habe es jedoch behoben und hier ist, wie:
Es ist wichtig zu verstehen, dass Pulseaudio (PA) das Standard-Soundkontrollsystem für Ubuntu und die meisten (alle?) Varianten ist. PA ist im Wesentlichen und überlagert das Kern-ALSA-Soundsystem. Für jede in PA durchgeführte Aktion gibt es also eine nachfolgende Reaktion innerhalb von ALSA. Für jeden in PA definierten Ausgang (auch bekannt als Port) gibt es eine definierte Anpassung des ALSA-Systems. Diese Einstellung wird als "Mischpfad" bezeichnet.
!!! WICHTIG !!!
Bevor Sie fortfahren, ist jetzt ein guter Zeitpunkt, um zu überprüfen, ob dies tatsächlich Ihr Problem ist, und es gibt keinen anderen Grund, warum Ihre Lautsprecher nicht funktionieren. Sie können dies sehr einfach tun, indem Sie den folgenden Test durchführen. (Wenn Sie an Ihrem Soundsystem herumgespielt haben, möchten Sie es möglicherweise vor dem Testen auf die Standardeinstellungen zurücksetzen.)
- Ziehen Sie alle Kopfhörer oder andere Audiogeräte heraus, AUSSER die Lautsprecher, die NICHT funktionieren.
- Starten Sie die Wiedergabe einer Audiodatei, die normalerweise Ton aus Ihren Lautsprechern erzeugt, obwohl dies derzeit nicht der Fall ist. Dann,
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
alsamixer
Sie sollten Folgendes sehen:
Aufgrund der Unterschiede zwischen den Soundkarten unterscheiden sich Ihre Geräte möglicherweise geringfügig von denen auf dem Bild. In meinem Fall und bevor das Problem behoben wurde, sah mein Alsamixer genauso aus wie auf dem Bild oben.
- Deaktivieren Sie alle Geräte, die gerade stummgeschaltet sind (verwenden Sie die Taste 'm', um die Stummschaltung umzuschalten). Erhöhen Sie dann die Lautstärkeregler bei Geräten, die nicht 100% erreichen.
Wenn Sie Ton aus Ihren Lautsprechern hören können, ist dieses Update genau das Richtige für Sie!
Wenn Sie keinen Ton hören, kehren Sie zu "The Google" zurück und suchen Sie weiter. Diese Methode wird Ihnen NICHT helfen.
Wenn Sie im obigen Test erfolgreich Sound erhalten haben, müssen wir jetzt mit den Alsamixer-Einstellungen spielen, um Folgendes zu bestimmen:
- Der Lautstärkeregler des Geräts regelt tatsächlich die Lautstärke Ihrer Lautsprecher
- Welches der Geräte muss nicht stummgeschaltet sein, damit die Lautsprecher funktionieren? Möglicherweise müssen mehrere Geräte nicht stummgeschaltet werden.
Sobald wir die ALSA-Einstellungen kennen, mit denen die Lautsprecher arbeiten, können wir diese Informationen verwenden, um die erforderlichen Änderungen an unseren PA-Mischpfaden vorzunehmen.
In meinem Fall habe ich festgestellt, dass meine Kopfhörer und Lautsprecher in ALSA auf folgende Weise miteinander verbunden sind:
- Die Lautstärke meines Kopfhörers wird vom Gerät "Kopfhörer" gesteuert.
- Um Ton von meinen Kopfhörern zu erhalten, müssen die Geräte "Master" und "Kopfhörer" nicht stummgeschaltet sein.
- Die Lautstärke meines Lautsprechers wird AUCH über das Gerät "Kopfhörer" gesteuert. (Die Lautstärkeeinstellung des ALSA-Lautsprechers hat überraschenderweise keinen Einfluss auf die Lautstärke meines Lautsprechers.)
- Um Ton von meinen Lautsprechern zu erhalten, müssen die Geräte "Master" und "Speaker" nicht stummgeschaltet sein.
Der Standardmischerpfad des Lautsprechers in PulseAudio (PA) ging davon aus, dass meine Lautsprecher unabhängig von meinen Kopfhörern waren. Was, wie oben durch Beobachtung 3 gezeigt, nicht der Fall war. Anschließend hat der Standardmischerpfad in PA für meine Lautsprecher die folgenden problematischen Änderungen in ALSA vorgenommen, wenn der Lautsprecherausgang in PA ausgewählt wurde:
- Die Kopfhörerlautstärke wurde auf 0 gesenkt.
- Stellen Sie das Lautsprechergerät als Lautstärkeregler ein.
Angesichts der Tatsache, dass ich die zuvor beschriebene Verknüpfung meiner Lautsprecher und Kopfhörer durch ALSA beobachtet hatte, würden diese Änderungen an ALSA verhindern, dass Ton aus meinen Lautsprechern austritt.
Die Lösung für dieses Problem wird also durch Ändern des Mischpfads des Lautsprechers erhalten.
Die PA-Mixer-Pfaddateien befinden sich in:
/ usr / share / pulseaudio / alsa-mixer / path /
Um festzustellen, welche Mixer-Pfaddatei Ihre Lautsprecher steuert, müssen Sie:
Stellen Sie sicher, dass Ihr Lautsprecherausgang innerhalb von PA ausgewählt ist (dh nicht Ihre Kopfhörer).
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
pactl list | grep 'Active Port.*output.*'
Es sollte etwas ausgeben, das so aussieht:
Aktive Hafen: audiotype -output- Gerät
dh
Der "aktive Port" ist der PA-Port, der derzeit die ALSA-Einstellungen steuert. Da Sie Ihren Lautsprecher bereits als PA-Ausgang ausgewählt haben, werden Sie über diesen Ausgang des Terminalbefehls darüber informiert , dass Sie die Mixer- Pfaddatei audiotype -output- device .conf bearbeiten müssen. In meinem Fall war die Mixer-Pfaddatei analog-output-Speaker.conf.
Nachdem wir die richtige Mixer-Pfaddatei haben, müssen wir unsere Änderungen vornehmen.
HINWEIS: In diesem Mixer-Pfad-Ordner befindet sich eine Datei mit dem Namen 'analog-output.conf.common'. Der Inhalt dieser Datei erklärt, wie die Mixer-Pfaddateien interpretiert werden. Wenn Sie die folgenden Änderungen verstehen möchten, empfehle ich dringend, diese Datei zu lesen, bevor Sie Ihre Mixer-Pfade bearbeiten!
Jede Mixer-Pfaddatei enthält zahlreiche "Elemente". Im Idealfall gibt es in jeder Datei ein Element, das jedes ALSA-Gerät auf Ihrem Computer darstellt. Es gibt wahrscheinlich Elemente, die Sie nicht so gut haben. Das ist normal.
In meinem Fall musste ich die Kopfhörer- und Lautsprecherelemente im Mischpult für die Analogausgangslautsprecher-Konfiguration auf folgende Weise ändern:
- Lassen Sie die PA-Lautstärke die ALSA-Lautstärke des Kopfhörers einstellen.
Original:
[Element Headphone]
switch = off
volume = off
Bearbeitet:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
- (Optional) Stellen Sie die Lautsprecherlautstärke auf Aus und verhindern Sie, dass die PA-Lautstärke die ALSA-Lautstärke beeinflusst. (Wenn Sie dies nicht tun, funktioniert Ihr Sound weiterhin, aber die Lautsprechereinstellungen in ALSA werden unnötig herumspringen.)
Original:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Bearbeitet:
[Element Speaker]
required-any = any
switch = mute
volume = off
Starten Sie dann PA neu, indem Sie Folgendes ausführen:
pulseaudio -k && pulseaudio --start
Voilà!