Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีแก้ไขปัญหา No Sound ใน Ubuntu

วิธีแก้ไขปัญหา No Sound ใน Ubuntu

ปัญหาที่ผู้ใช้ Ubuntu มักประสบหลังจากติดตั้ง Ubuntu หรืออัปเกรดเป็นเวอร์ชันใหม่คือปัญหาด้านเสียง หรือโดยเฉพาะอย่างยิ่ง ปัญหา "ไม่มีเสียง" สิ่งนี้สามารถเกิดขึ้นได้จากหลายสาเหตุ บางครั้งอาจเกี่ยวข้องกับการกำหนดค่าที่ไม่ถูกต้องในการตั้งค่าลำโพง หรือฮาร์ดแวร์ของคุณอาจไม่ได้รับการสนับสนุนอย่างดี

สำหรับคนส่วนใหญ่ มักจะเป็นปัญหาที่แก้ไขได้ง่าย เนื่องจากปัญหาส่วนใหญ่เกิดจากปัญหากับบริการที่ทำงานอยู่บนระบบ ในบทความนี้ เราจะพูดถึงวิธีแก้ไขง่ายๆ สองสามข้อที่คุณสามารถลองใช้ได้ คุณไม่จำเป็นต้องลองทั้งหมด เพียงแค่เริ่มต้นที่ด้านบนสุดของรายการและดำเนินการตามขั้นตอนของคุณ

ติดตั้งการควบคุมระดับเสียงสำหรับ PulseAudio

PulseAudio เป็นบริการเสียงเริ่มต้นสำหรับ Ubuntu รวมถึงบริการอื่นๆ อีกสองสามรายการ เป็นโอเพ่นซอร์สและโดยทั่วไปเชื่อถือได้ โดยทำงานร่วมกับไดรเวอร์ ALSA และ OSS เพื่อให้แน่ใจว่าสัญญาณเสียงที่ระบบสร้างขึ้นจะถูกส่งต่อไปยังลำโพงของคุณ

วิธีแก้ไขปัญหา No Sound ใน Ubuntu

แต่ในขณะที่แอปพลิเคชันและสภาพแวดล้อมเดสก์ท็อปมาพร้อมกับตัวควบคุมระดับเสียงสำหรับ PulseAudio เอง แต่ก็ไม่ได้ละเอียดขนาดนั้นและไม่อนุญาตให้คุณควบคุมสตรีมการเล่นแต่ละรายการแยกกัน Pavucontrol ช่วยให้คุณควบคุมอุปกรณ์เสียงแต่ละเครื่องบนพีซีของคุณได้มากขึ้น ดังนั้นคุณจึงสามารถเล่นกับแถบเลื่อนเหล่านั้นได้ เพื่อให้แน่ใจว่าระดับเสียงของลำโพงหรือหูฟังตั้งค่าไว้ที่ที่ควรจะเป็น เป็นต้น

การติดตั้ง pavucontrol ให้เปิด Terminal และป้อนคำสั่งต่อไปนี้:

pulseaudio --start
sudo apt install pavucontrol

หลังจากนั้นให้เรียกใช้ pavucontrol จากเทอร์มินัลหรือค้นหา "PulseAudio Volume Control" ในเมนูเปิดใช้สภาพแวดล้อมเดสก์ท็อปของคุณ ไปที่แท็บ "อุปกรณ์ส่งออก" และตรวจสอบให้แน่ใจว่าได้เลือกลำโพงเริ่มต้นของคุณแล้ว

ตรวจสอบการตั้งค่าลำโพงของคุณ

เมื่อประสบปัญหาด้านเสียงในเครื่อง Ubuntu ของคุณ ก่อนอื่นคุณต้องตรวจสอบหูฟังและลำโพงของคุณเพื่อหาปัญหาการเชื่อมต่อ อาจเป็นเพราะเสียบสายสัญญาณเสียงกับพอร์ตผิดหรือไม่ได้เชื่อมต่อเลย

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

วิธีแก้ไขปัญหา No Sound ใน Ubuntu

ตรวจสอบมิกเซอร์ ALSA

ภายใต้ประทุน PulseAudio ใช้ ALSA ซึ่งเป็นโมดูลเคอร์เนลที่ควบคุมอุปกรณ์เสียงของคุณโดยตรง หากคุณต้องการการควบคุมที่ละเอียดยิ่งขึ้นสำหรับระดับเสียงระดับ ALSA ของคุณ ให้ทำตามขั้นตอนด้านล่าง:

  1. เปิดเทอร์มินัล
  2. พิมพ์ alsamixer แล้วกดปุ่ม Enter กุญแจ. คุณจะเห็นผลลัพธ์ต่อไปนี้ในเทอร์มินัลของคุณ
วิธีแก้ไขปัญหา No Sound ใน Ubuntu
  1. เลือกการ์ดเสียงที่ถูกต้องโดยกด F6 . สำหรับฉัน ค่าเริ่มต้นใช้งานได้ดี แต่อย่าลังเลที่จะลองใช้ตัวเลือกอื่นหากไม่ได้ผล
  2. ใช้ ลูกศรซ้าย และ ลูกศรขวา ปุ่มเพื่อเลือกตัวควบคุมระดับเสียง รายการที่เลือกในปัจจุบันจะแสดงเป็นสีแดงที่ด้านล่าง
  3. ใช้ ลูกศรขึ้น และ ลูกศรลง ปุ่มสำหรับเพิ่มและลดระดับเสียงสำหรับตัวควบคุมแต่ละส่วน
  4. เมื่อปิดเสียงตัวควบคุมมิกเซอร์ “MM” จะปรากฏใต้แถบระดับเสียง โปรดทราบว่าแถบสามารถเต็มได้ 100% แต่ยังคงปิดเสียงอยู่ ดังนั้นให้ตรวจสอบสิ่งนี้ คุณสามารถเปิดเสียงตัวควบคุมโดยกด m กุญแจ. สิ่งนี้จะเปลี่ยน “MM” เป็น “OO”
  5. ในการออกจาก alsamixer ให้กด Esc ที่สำคัญ

หมายเหตุ :เมื่อคุณปิดหรือเปิดเสียงตัวควบคุม pulseaudio อาจหยิบขึ้นมาและปิดเสียงและเปิดเสียงการควบคุมอื่นๆ ด้วย ตรวจสอบให้แน่ใจว่าได้เปิดเสียงการควบคุมที่เกี่ยวข้องและตัวควบคุมหลักก่อนที่จะออก

โหลด ALSA ใหม่

อีกสิ่งหนึ่งที่คุณสามารถลองได้หากปัญหาเสียงยังคงมีอยู่คือการโหลด ALSA ใหม่ ในการทำเช่นนั้น ใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

sudo alsa force-reload

ผลลัพธ์ที่ได้จะเป็นดังภาพต่อไปนี้

วิธีแก้ไขปัญหา No Sound ใน Ubuntu

เมื่อเสร็จแล้ว หากยังมีปัญหาในการทำให้เสียงใช้งานได้ ให้ลอง

pulseaudio -k && pulseaudio -D

คุณอาจมีปัญหาหลังจากโหลด ALSA ใหม่ หาก pulseaudio ไม่ได้ลงทะเบียนว่ามีการโหลดโมดูลใหม่

หากคุณยังไม่ได้รับเสียง ให้ลองใช้คำสั่ง ALSA แบบครั้งเดียวนี้โดยตรง:

alsactl restore

ติดตั้ง ALSA และ PulseAudio อีกครั้ง

หากวิธีการข้างต้นไม่สามารถแก้ไขปัญหาของคุณได้ ให้ลองติดตั้ง ALSA และ PulseAudio ใหม่ด้วยวิธีต่อไปนี้ เปิดเทอร์มินัลของคุณและป้อนคำสั่งต่อไปนี้:

sudo apt remove --purge alsa-base pulseaudio
sudo apt install alsa-base pulseaudio

โหลด ALSA ใหม่อีกครั้งและรีบูตเครื่องคอมพิวเตอร์ของคุณ

การแก้ไขปัญหาขั้นสูง

ในการแก้ไขปัญหาเสียงของคุณอย่างถูกต้องหลังจากที่ทุกอย่างล้มเหลว เราต้องจัดการให้สกปรกขึ้นเล็กน้อยและเข้าสู่การแก้ไขปัญหาขั้นสูงเพิ่มเติม:

เอาต์พุตของคุณอาจทริกเกอร์ ALSA แต่ไม่ใช่ PulseAudio

ในท้ายที่สุด หาก PulseAudio ปิดเสียงเอาต์พุต ก็ไม่สำคัญว่า ALSA จะพูดอะไร เสียงที่ออกมาจากอุปกรณ์ของคุณจะได้รับการประมวลผลผ่าน ALSA แต่จะไม่ให้บริการ ผ่าน PulseAudio

เพื่อแก้ปัญหานี้ เราต้องบังคับให้ ALSA คุยกับ PulseAudio เมื่อระดับเสียงหลักเปลี่ยนไป เพื่อให้แน่ใจว่าเสียงหลังจะตามมา

amixer -D pulse sset Master toggle

อุปกรณ์ที่โวลุ่มสามารถโต้ตอบกับ ALSA ได้ด้วยเหตุผลบางอย่างเท่านั้นที่จะโต้ตอบกับ PulseAudio

คุณแน่ใจหรือว่าไม่ใช่แค่แอปพลิเคชันเดียว

แอปพลิเคชันที่ทำงานผิดปกติอาจทำให้เกิดปัญหามากกว่าที่คุณคิดในลักษณะที่จะทำให้คุณประหลาดใจ อาจเป็นแอปพลิเคชั่นที่คุณไม่ได้เปิด!

หากต้องการดูทุกอย่างโดยใช้ตัวควบคุมเสียง ให้พิมพ์:

pacmd list-sink-inputs

หากคุณต้องการผ่าตัดมากกว่านี้ พิมพ์:

pacmd list-sink-inputs | grep application.name
วิธีแก้ไขปัญหา No Sound ใน Ubuntu

ในกรณีของฉัน อย่างในรูป Firefox เป็นสิ่งเดียวที่ฉันกำลังฟังอยู่ หากคุณใช้ grep หากต้องการจำกัดเอาต์พุตในเทอร์มินัล ให้ใช้คำสั่งเดิมอีกครั้งและให้ความสนใจกับค่า “ปิดเสียง:”, “ดัชนี:” และ “ระดับเสียง:”

คุณอาจมีระดับเสียงในแอปพลิเคชันและยังสามารถปิดเสียงหรือเปิดเสียงเป็นศูนย์ได้!

หากต้องการแก้ไขแอปพลิเคชันที่ปิดเสียง ให้พิมพ์ (แทนที่ application_index ด้วยหมายเลขดัชนีที่คุณพบใน “index:”):

pacmd set-sink-input-mute application_index false

หากต้องการแก้ไขแอปพลิเคชันที่มีระดับเสียงต่ำผิดปกติ ให้พิมพ์:

pacmd set-sink-input-volume application_index 0x10000

ไม่มีเสียงเมื่อเล่นต่อหลังจากพัก/พักเครื่อง

บางครั้ง PulseAudio ก็ไม่อยู่ในอารมณ์ที่จะตื่นขึ้นพร้อมกับส่วนที่เหลือของคอมพิวเตอร์ของคุณ ในกรณีนี้ ให้รัน

pasuspender /bin/true

นำเสียงของคุณกลับมาจากความตาย แต่อย่าตื่นเต้นเกินไป การดำเนินการนี้จะไม่รอดจากการรีบูตหรือระงับ/พักเครื่องอีกครั้ง ปฏิบัติตามคู่มือฉบับย่อนี้อย่างระมัดระวังเพื่อแก้ไขปัญหาอย่างถาวร:

  1. ในเทอร์มินัล พิมพ์
sudo touch /etc/systemd/system/[email protected]

เพื่อสร้างไฟล์ตัวจัดการบริการ systemd

  1. เปิดไฟล์เพื่อแก้ไข:
sudo nano /etc/systemd/system/pulseaudio-sleep-fix.service

วาง (Ctrl + กะ + วี สำหรับการวางเทอร์มินัล) สิ่งนี้ลงไป:

[Unit]
Description=Fix PulseAudio after resume from suspend
After=suspend.target
 
[Service]
User=%I
Type=oneshot
Environment="XDG_RUNTIME_DIR=/run/user/%U"
ExecStart=/usr/bin/pasuspender /bin/true
 
[Install]
WantedBy=suspend.target
  1. กด Ctrl + X เพื่อออกและ Y ในข้อความแจ้งถามว่าคุณต้องการบันทึกบัฟเฟอร์ที่แก้ไขหรือไม่
  2. พิมพ์ข้อมูลต่อไปนี้เพื่อลงทะเบียนเป็นบริการ systemd
sudo systemctl enable pulseaudio-sleep-fix@your_username.service

อย่าลืมแทนที่ your_username ด้วยค่าที่เหมาะสม

คุณกำลังขี้ขลาดอยู่หรือเปล่า

หากคุณเรียกใช้แพ็คเกจ timidity ใน Ubuntu (ตรวจสอบโดยเรียกใช้ apt search timidity และตรวจสอบหา [installed] ที่ส่วนท้ายของรายการที่เหมาะสม) คุณอาจประสบปัญหาในการเรียกใช้ PulseAudio เนื่องจากวิธีจัดการกับการประมวลผลเสียงที่ขี้ขลาด

เพื่อให้เกิดความขี้ขลาดในการทำงานอย่างถูกต้อง ให้เริ่มต้นด้วยการเพิ่มลงในการเริ่มต้นอัตโนมัติ (บางครั้งเรียกว่าแอปพลิเคชันเริ่มต้นในสภาพแวดล้อมเดสก์ท็อปเช่น GNOME) และแก้ไขคำสั่งที่เรียกใช้แอปพลิเคชันเป็น:

timidity -iA -Os

ทำสิ่งต่อไปอีกเล็กน้อย พิมพ์ต่อไปนี้เพื่อเพิ่มรูทให้กับกลุ่มการเข้าถึงแบบพัลส์

sudo usermod -a -G pulse-access root

เมื่อคุณรีบูต เสียงของคุณควรทำงานได้ดี หากยังคงล้มเหลว วิธีเดียวที่ทำได้คือขจัดความขี้ขลาดออกจาก Ubuntu

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

คำถามที่พบบ่อย

1. ฉันจะลบ ALSA และเก็บ PulseAudio ไว้ได้ไหม

เหยียบที่นี่อย่างระมัดระวัง! PulseAudio ต้องใช้โมดูลเสียงระดับเคอร์เนลจึงจะใช้งานได้ หากคุณกำลังวางแผนที่จะแทนที่ ALSA ด้วยสิ่งอื่นที่ทำงานในเคอร์เนล (เช่น Open Sound System) ไม่ว่าอย่างไรก็ตาม ให้ดำเนินการนั้น กระบวนการนี้ซับซ้อนกว่าการเปลี่ยนโมดูลเคอร์เนล Realtek สำหรับเครือข่ายเล็กน้อย ดังนั้นโปรดทราบว่าคุณอาจนั่งเป็นเวลานานมากในการพยายามแยกแยะปัญหา

2. PulseAudio มีทางเลือกอื่นหรือไม่

ใช่! ทางเลือกที่ได้รับความนิยมมากที่สุด (และเป็นไปได้มากที่สุด หากคุณวางแผนที่จะใช้เดสก์ท็อป) แทน PulseAudio คือ PipeWire ประกอบด้วยการรองรับอุปกรณ์ Bluetooth ที่ดีขึ้นและปรับปรุงวิธีการสุ่มตัวอย่างและขั้นตอนหลังการประมวลผลของ PulseAudio ขณะนี้การแจกแจงจำนวนมากทำให้พร้อมใช้งานในที่เก็บอย่างเป็นทางการ และความเสถียรก็ดีขึ้นอย่างมากในช่วงไม่กี่ปีที่ผ่านมา

หากคุณต้องการการตั้งค่าเสียงอย่างมืออาชีพมากขึ้น คุณอาจต้องการเลือกใช้บางอย่างเช่น JACK

3. ฉันสามารถเรียกใช้ PulseAudio ควบคู่ไปกับบริการอื่นๆ ได้หรือไม่

แม้ว่าบริการบางอย่างจะมีไลบรารี่และตัวเลือกการตั้งค่าเพื่อให้ PulseAudio ทำงานได้ ขอแนะนำเป็นอย่างยิ่งให้คุณใช้บริการครั้งละหนึ่งรายการในระบบของคุณ บริการส่วนใหญ่จะแข่งขันกับ PulseAudio สำหรับแอปพลิเคชันระบบของคุณและอาจทำให้เกิดพฤติกรรมที่คาดเดาไม่ได้ คนอื่นจะไม่ทำงานเลยหากไม่ได้กำจัด PulseAudio ทั้งหมด (PipeWire ใช้ pipewire-pulse บริการแทนที่ pulseaudio .)

หวังว่าคำแนะนำที่เราให้ไว้ที่นี่จะทำให้เสียงทำงานบน Ubuntu ได้อีกครั้ง เพื่อให้คุณเริ่มเพลิดเพลินกับระบบปฏิบัติการได้อีกครั้ง คุณได้ลองเปลี่ยนเว็บไซต์เป็นแอปใน Linux และแคสต์หน้าจอโทรศัพท์ Android เป็น Linux แล้วหรือยัง