ฉันยังมีปัญหานี้เมื่ออัพเกรด Xubuntu 14.04 เป็น Xubuntu 16.04 (หูฟังผลิตเสียง แต่ไม่ใช่ลำโพง) ฉันมีการ์ดเสียง HD Intel ที่มีชิป Realtek ALC259 ปัญหายังคงอยู่เมื่อทำการบูทด้วยเมล็ดต่าง ๆ จาก 3.13.X ถึง 4.10.X
อย่างไรก็ตามฉันได้รับการแก้ไขและนี่คือวิธี:
สิ่งสำคัญคือต้องเข้าใจว่า Pulseaudio (PA) เป็นระบบควบคุมเสียงเริ่มต้นสำหรับ Ubuntu และส่วนใหญ่ของทุกรุ่น PA เป็นหลักและวางซ้อนอยู่ด้านบนของระบบเสียงหลัก ALSA ดังนั้นสำหรับทุกการกระทำที่ทำใน PA มีปฏิกิริยาต่อมาภายใน ALSA สำหรับแต่ละเอาต์พุต (พอร์ต aka) ที่กำหนดไว้ภายใน PA จะมีการปรับเปลี่ยนที่กำหนดไว้สำหรับระบบ ALSA การปรับนี้เรียกว่า "เส้นทางผสม"
!!! สิ่งสำคัญ !!!
ก่อนที่คุณจะดำเนินการต่อในตอนนี้เป็นเวลาที่ดีในการตรวจสอบว่านี่เป็นปัญหาของคุณจริง ๆ และไม่มีเหตุผลอื่นใดที่ทำให้ลำโพงของคุณไม่ทำงาน คุณสามารถทำได้ง่ายมากโดยทำแบบทดสอบต่อไปนี้ (หากคุณเล่นซอกับระบบเสียงของคุณคุณอาจต้องการให้มันกลับไปเป็นค่าเริ่มต้นก่อนการทดสอบ):
- ถอดหูฟังหรืออุปกรณ์เสียงอื่น ๆ ยกเว้นลำโพงที่ไม่ทำงาน
- เริ่มเล่นไฟล์เสียงที่ปกติแล้วจะสร้างเสียงจากลำโพงของคุณ จากนั้น
เปิดเทอร์มินัลของคุณและเรียกใช้คำสั่ง:
alsamixer
คุณควรเห็นสิ่งต่อไปนี้:
เนื่องจากความแตกต่างระหว่างการ์ดเสียงอุปกรณ์ของฉันจึงแตกต่างจากภาพเล็กน้อย ในกรณีของฉันและก่อนที่จะแก้ไขปัญหา alsamixer ของฉันดูเหมือนภาพด้านบน
- เปิดเสียงอุปกรณ์ที่ปิดเสียงอยู่ในขณะนี้ (ใช้ปุ่ม 'm' เพื่อสลับปิดเสียง) จากนั้นเพิ่มตัวเลื่อนระดับเสียงบนอุปกรณ์ใด ๆ ที่ไม่ได้อยู่ที่ 100%
หากคุณได้ยินเสียงจากลำโพงของคุณการแก้ไขนี้เหมาะสำหรับคุณ!
หากคุณไม่ได้ยินเสียงใด ๆ ให้กลับไปที่ "The Google" และค้นหาต่อไป วิธีนี้จะไม่ช่วยคุณ
หากคุณได้รับเสียงจากการทดสอบข้างต้นสิ่งที่เราต้องทำตอนนี้คือเล่นกับการตั้งค่า alsamixer เพื่อพิจารณา:
- การควบคุมระดับเสียงของอุปกรณ์ใดที่ควบคุมระดับเสียงของลำโพงของคุณและ
- อุปกรณ์ใดที่จำเป็นต้องถูกเปิดเสียงเพื่อให้ลำโพงทำงาน อาจต้องยกเลิกการปิดเสียงอุปกรณ์หลายอัน
เมื่อเราทราบการตั้งค่า ALSA ที่ลำโพงจะใช้งานได้เราสามารถใช้ข้อมูลนี้เพื่อทำการเปลี่ยนแปลงที่จำเป็นในพา ธ เครื่องผสมสัญญาณ PA ของเรา
ในกรณีของฉันฉันค้นพบว่าหูฟังและลำโพงของฉันเชื่อมโยงภายใน ALSA ด้วยวิธีต่อไปนี้:
- ปริมาณหูฟังของฉันถูกควบคุมโดยอุปกรณ์ "หูฟัง"
- การรับเสียงจากหูฟังของฉันต้องการให้อุปกรณ์ "Master" และ "หูฟัง" ต้องไม่ถูกเปิดเสียง
- ปริมาณลำโพงของฉันยังควบคุมโดยอุปกรณ์ "หูฟัง" (การตั้งค่าระดับเสียงของลำโพง ALSA อย่างน่าประหลาดใจไม่มีผลกับระดับเสียงของลำโพงของฉัน)
- การได้รับเสียงจากลำโพงของฉันต้องการให้อุปกรณ์ "Master" และ "Speaker" ไม่ถูกเปิดเสียง
เส้นทางตัวปรับแต่งเสียงเริ่มต้นของลำโพงภายใน PulseAudio (PA) สันนิษฐานว่าลำโพงของฉันเป็นอิสระจากหูฟังของฉัน ซึ่งดังที่แสดงไว้ข้างต้นโดยการสังเกต 3 ไม่ใช่กรณี จากนั้นเส้นทางตัวปรับแต่งเสียงเริ่มต้นภายใน PA สำหรับลำโพงของฉันทำการเปลี่ยนแปลงที่มีปัญหาต่อไปนี้ภายใน ALSA เมื่อใดก็ตามที่เลือกลำโพงเอาต์พุตภายใน PA:
- ลดระดับเสียงหูฟังเป็น 0
- ตั้งค่าอุปกรณ์ลำโพงเป็นตัวควบคุมระดับเสียง
ด้วยวิธีที่ฉันสังเกตเห็นการเชื่อมโยงของ ALSA กับลำโพงและหูฟังตามที่อธิบายไว้ก่อนหน้าการเปลี่ยนแปลง ALSA เหล่านี้จะป้องกันไม่ให้เสียงออกมาจากลำโพงของฉัน
ดังนั้นวิธีแก้ไขปัญหานี้จึงได้มาจากการปรับแต่งเส้นทางของผู้พูด
ไฟล์เส้นทางมิกเซอร์ PA อยู่ใน:
/ usr / share / PulseAudio / ALSA ผสม / เส้นทาง /
ในการพิจารณาว่าไฟล์ตัวผสมเส้นทางใดควบคุมลำโพงของคุณคุณจำเป็นต้อง:
ตรวจสอบให้แน่ใจว่าลำโพงของคุณถูกเลือกภายใน PA (เช่นไม่ใช่หูฟัง)
เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้:
pactl list | grep 'Active Port.*output.*'
ควรให้ผลลัพธ์ที่มีลักษณะดังนี้:
: ใช้งานพอร์ตaudiotype -output- อุปกรณ์
กล่าวคือ
"พอร์ตที่ใช้งาน" คือพอร์ต PA ในปัจจุบันที่ควบคุมการตั้งค่า ALSA เนื่องจากคุณได้เลือกลำโพงของคุณเป็นเอาต์พุต PA แล้วเอาต์พุตนี้จากคำสั่งเทอร์มินัลจะบอกคุณว่าคุณต้องแก้ไขไฟล์เส้นทางผสมมิกเซอร์audiotype -output- อุปกรณ์ .conf ในกรณีของฉันไฟล์มิกเซอร์พา ธ คือ analog-output-speaker.conf
ตอนนี้เรามีไฟล์เส้นทางผสมที่ถูกต้องแล้วเราต้องทำการเปลี่ยนแปลงของเรา
หมายเหตุ: ภายในโฟลเดอร์ตัวผสมเส้นทางนี้จะมีไฟล์ชื่อว่า 'analog-output.conf.common' เนื้อหาของไฟล์นี้อธิบายวิธีตีความไฟล์เส้นทางมิกเซอร์ หากคุณต้องการเข้าใจการเปลี่ยนแปลงต่อไปนี้ฉันขอแนะนำให้ดูไฟล์นี้ก่อนที่จะแก้ไขเส้นทางตัวผสมของคุณ!
ไฟล์เส้นทางมิกเซอร์แต่ละไฟล์มี "องค์ประกอบ" มากมาย เป็นการดีที่มีองค์ประกอบที่เป็นตัวแทนของแต่ละอุปกรณ์ ALSA บนคอมพิวเตอร์ของคุณภายในแต่ละไฟล์ อาจมีองค์ประกอบที่คุณไม่มีเช่นกัน นี่เป็นปกติ.
ในกรณีของฉันฉันต้องเปลี่ยนองค์ประกอบของหูฟังและลำโพงภายในพา ธ มิกเซอร์สำหรับ analog-output-speaker.conf ด้วยวิธีต่อไปนี้:
- อนุญาตให้ใช้ระดับเสียง PA เพื่อปรับระดับเสียงของหูฟัง ALSA
เดิม:
[Element Headphone]
switch = off
volume = off
แก้ไข:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
- (ไม่บังคับ) ตั้งค่าระดับเสียงลำโพงเป็นปิดและป้องกันไม่ให้ระดับเสียง PA มีผลต่อระดับเสียง ALSA (หากคุณไม่ทำเช่นนี้เสียงของคุณจะยังคงทำงานอยู่ แต่การตั้งค่าลำโพงภายใน ALSA จะเด้งไปมาอย่างไร้เหตุผล)
เดิม:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
แก้ไข:
[Element Speaker]
required-any = any
switch = mute
volume = off
จากนั้นเริ่มต้น PA ใหม่โดยดำเนินการ:
pulseaudio -k && pulseaudio --start
Voila!