Ubuntu 16.04 ไม่มีเสียงจากลำโพงมีเพียงหูฟังที่ใช้งานได้


8

ฉันอยู่ที่ปลายปัญญาด้วยปัญหานี้ ฉันรู้ว่าฉันเคยเห็นปัญหานี้มาหลายล้านครั้งแล้ว แต่ไม่มีวิธีแก้ปัญหาใดที่ใช้ได้ผล

ฉันมีแล็ปท็อป ASUS ที่บู๊ตคู่กับ Windows 8.1 ฉันอัพเกรดจาก 15.10 เป็น 16.04 และขาดการใช้ลำโพง การ์ดเสียงคิดอยู่ตลอดเวลาว่าเสียบหูฟังเข้าไว้ดังภาพหน้าจอเหล่านี้

alsamixer

pavucontrol

นี่ไม่ใช่ปัญหาฮาร์ดแวร์เนื่องจาก 1) เสียงทำงานบน Windows 8.1 2) ฉันสามารถทำให้ลำโพงทำงานได้โดยการปิดการใช้งานแจ็คหูฟังโดยใช้ hdajackretask (การตั้งค่าแทนที่แล้วตั้งเป็น "ไม่เชื่อมต่อ") แต่ไม่สามารถใช้ปุ่มลัดได้ เพื่อเปลี่ยนระดับเสียง

ฉันได้ลองโหลด alsa ใหม่อีกทั้งยังลบ alsa และติดตั้งใหม่

ฉันวางแผนที่จะลบพาร์ติชัน Windows 8 ของฉันต่อไป ฉันเห็นที่นี่: ไม่มีเสียงจากลำโพงแล็ปท็อปใน Ubuntu 14.04 หลังจากบูตเข้าสู่ Windows 8.1 ว่า Windows อาจทำให้เกิดปัญหา การลบพาร์ติชันจะช่วยแก้ปัญหาได้หรือไม่

แก้ไข: ฉันได้ปิดใช้งานไฮบริดบูตตามที่แนะนำในคำถามนั้นแล้ว


ฉันจะลองคำตอบที่ยอมรับก่อนสิ่งอื่นใด

ขออภัยฉันไม่ได้กล่าวถึงการบูตไฮบริด / บูตเร็วถูกปิดใช้งานแล้วตามที่แนะนำในคำตอบ กำลังแก้ไขคำถามทันที
jhutch

คำตอบ:


9

ฉันยังมีปัญหานี้เมื่ออัพเกรด 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 การปรับนี้เรียกว่า "เส้นทางผสม"

!!! สิ่งสำคัญ !!!

ก่อนที่คุณจะดำเนินการต่อในตอนนี้เป็นเวลาที่ดีในการตรวจสอบว่านี่เป็นปัญหาของคุณจริง ๆ และไม่มีเหตุผลอื่นใดที่ทำให้ลำโพงของคุณไม่ทำงาน คุณสามารถทำได้ง่ายมากโดยทำแบบทดสอบต่อไปนี้ (หากคุณเล่นซอกับระบบเสียงของคุณคุณอาจต้องการให้มันกลับไปเป็นค่าเริ่มต้นก่อนการทดสอบ):

  1. ถอดหูฟังหรืออุปกรณ์เสียงอื่น ๆ ยกเว้นลำโพงที่ไม่ทำงาน
  2. เริ่มเล่นไฟล์เสียงที่ปกติแล้วจะสร้างเสียงจากลำโพงของคุณ จากนั้น
  3. เปิดเทอร์มินัลของคุณและเรียกใช้คำสั่ง:

    alsamixer
    

คุณควรเห็นสิ่งต่อไปนี้:

alsamixer เนื่องจากความแตกต่างระหว่างการ์ดเสียงอุปกรณ์ของฉันจึงแตกต่างจากภาพเล็กน้อย ในกรณีของฉันและก่อนที่จะแก้ไขปัญหา alsamixer ของฉันดูเหมือนภาพด้านบน

  1. เปิดเสียงอุปกรณ์ที่ปิดเสียงอยู่ในขณะนี้ (ใช้ปุ่ม 'm' เพื่อสลับปิดเสียง) จากนั้นเพิ่มตัวเลื่อนระดับเสียงบนอุปกรณ์ใด ๆ ที่ไม่ได้อยู่ที่ 100%

หากคุณได้ยินเสียงจากลำโพงของคุณการแก้ไขนี้เหมาะสำหรับคุณ!

หากคุณไม่ได้ยินเสียงใด ๆ ให้กลับไปที่ "The Google" และค้นหาต่อไป วิธีนี้จะไม่ช่วยคุณ


หากคุณได้รับเสียงจากการทดสอบข้างต้นสิ่งที่เราต้องทำตอนนี้คือเล่นกับการตั้งค่า alsamixer เพื่อพิจารณา:

  1. การควบคุมระดับเสียงของอุปกรณ์ใดที่ควบคุมระดับเสียงของลำโพงของคุณและ
  2. อุปกรณ์ใดที่จำเป็นต้องถูกเปิดเสียงเพื่อให้ลำโพงทำงาน อาจต้องยกเลิกการปิดเสียงอุปกรณ์หลายอัน

เมื่อเราทราบการตั้งค่า ALSA ที่ลำโพงจะใช้งานได้เราสามารถใช้ข้อมูลนี้เพื่อทำการเปลี่ยนแปลงที่จำเป็นในพา ธ เครื่องผสมสัญญาณ PA ของเรา

ในกรณีของฉันฉันค้นพบว่าหูฟังและลำโพงของฉันเชื่อมโยงภายใน ALSA ด้วยวิธีต่อไปนี้:

  1. ปริมาณหูฟังของฉันถูกควบคุมโดยอุปกรณ์ "หูฟัง"
  2. การรับเสียงจากหูฟังของฉันต้องการให้อุปกรณ์ "Master" และ "หูฟัง" ต้องไม่ถูกเปิดเสียง
  3. ปริมาณลำโพงของฉันยังควบคุมโดยอุปกรณ์ "หูฟัง" (การตั้งค่าระดับเสียงของลำโพง ALSA อย่างน่าประหลาดใจไม่มีผลกับระดับเสียงของลำโพงของฉัน)
  4. การได้รับเสียงจากลำโพงของฉันต้องการให้อุปกรณ์ "Master" และ "Speaker" ไม่ถูกเปิดเสียง

เส้นทางตัวปรับแต่งเสียงเริ่มต้นของลำโพงภายใน PulseAudio (PA) สันนิษฐานว่าลำโพงของฉันเป็นอิสระจากหูฟังของฉัน ซึ่งดังที่แสดงไว้ข้างต้นโดยการสังเกต 3 ไม่ใช่กรณี จากนั้นเส้นทางตัวปรับแต่งเสียงเริ่มต้นภายใน PA สำหรับลำโพงของฉันทำการเปลี่ยนแปลงที่มีปัญหาต่อไปนี้ภายใน ALSA เมื่อใดก็ตามที่เลือกลำโพงเอาต์พุตภายใน PA:

  1. ลดระดับเสียงหูฟังเป็น 0
  2. ตั้งค่าอุปกรณ์ลำโพงเป็นตัวควบคุมระดับเสียง

ด้วยวิธีที่ฉันสังเกตเห็นการเชื่อมโยงของ ALSA กับลำโพงและหูฟังตามที่อธิบายไว้ก่อนหน้าการเปลี่ยนแปลง ALSA เหล่านี้จะป้องกันไม่ให้เสียงออกมาจากลำโพงของฉัน

ดังนั้นวิธีแก้ไขปัญหานี้จึงได้มาจากการปรับแต่งเส้นทางของผู้พูด

ไฟล์เส้นทางมิกเซอร์ PA อยู่ใน:

/ usr / share / PulseAudio / ALSA ผสม / เส้นทาง /

ในการพิจารณาว่าไฟล์ตัวผสมเส้นทางใดควบคุมลำโพงของคุณคุณจำเป็นต้อง:

  1. ตรวจสอบให้แน่ใจว่าลำโพงของคุณถูกเลือกภายใน PA (เช่นไม่ใช่หูฟัง) ป้อนคำอธิบายรูปภาพที่นี่

  2. เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้:

    pactl list | grep 'Active Port.*output.*'
    
  3. ควรให้ผลลัพธ์ที่มีลักษณะดังนี้:

    : ใช้งานพอร์ตaudiotype -output- อุปกรณ์

กล่าวคือ

ป้อนคำอธิบายรูปภาพที่นี่

"พอร์ตที่ใช้งาน" คือพอร์ต PA ในปัจจุบันที่ควบคุมการตั้งค่า ALSA เนื่องจากคุณได้เลือกลำโพงของคุณเป็นเอาต์พุต PA แล้วเอาต์พุตนี้จากคำสั่งเทอร์มินัลจะบอกคุณว่าคุณต้องแก้ไขไฟล์เส้นทางผสมมิกเซอร์audiotype -output- อุปกรณ์ .conf ในกรณีของฉันไฟล์มิกเซอร์พา ธ คือ analog-output-speaker.conf

ตอนนี้เรามีไฟล์เส้นทางผสมที่ถูกต้องแล้วเราต้องทำการเปลี่ยนแปลงของเรา

หมายเหตุ: ภายในโฟลเดอร์ตัวผสมเส้นทางนี้จะมีไฟล์ชื่อว่า 'analog-output.conf.common' เนื้อหาของไฟล์นี้อธิบายวิธีตีความไฟล์เส้นทางมิกเซอร์ หากคุณต้องการเข้าใจการเปลี่ยนแปลงต่อไปนี้ฉันขอแนะนำให้ดูไฟล์นี้ก่อนที่จะแก้ไขเส้นทางตัวผสมของคุณ!

ไฟล์เส้นทางมิกเซอร์แต่ละไฟล์มี "องค์ประกอบ" มากมาย เป็นการดีที่มีองค์ประกอบที่เป็นตัวแทนของแต่ละอุปกรณ์ ALSA บนคอมพิวเตอร์ของคุณภายในแต่ละไฟล์ อาจมีองค์ประกอบที่คุณไม่มีเช่นกัน นี่เป็นปกติ.

ในกรณีของฉันฉันต้องเปลี่ยนองค์ประกอบของหูฟังและลำโพงภายในพา ธ มิกเซอร์สำหรับ analog-output-speaker.conf ด้วยวิธีต่อไปนี้:

  1. อนุญาตให้ใช้ระดับเสียง 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
  1. (ไม่บังคับ) ตั้งค่าระดับเสียงลำโพงเป็นปิดและป้องกันไม่ให้ระดับเสียง 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!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.