Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

แก้ไขปัญหาเสียง Ubuntu: คู่มือด่วนกู้คืนออดิโอ

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

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

ทำไมปัญหาเสียงจึงเกิดขึ้นใน Ubuntu?

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

ก่อนทำการแก้ไขขั้นสูง คุณควรตรวจสอบก่อนว่าเสียงไม่ได้ถูกปิดเสียง (mute) ถามตัวเองว่า:

  • คีย์บอร์ดของฉันมีสวิตช์หรือปุ่มปิดเสียงหรือไม่? หากมี ให้กดปุ่มและตรวจสอบว่าปัญหาเสียงหายไปหรือไม่
  • ฉันปิดเสียงแอปพลิเคชันที่เล่นเสียงไว้หรือไม่? หากโปรแกรมไม่เล่นเสียง ให้ตรวจสอบใน Settings > Sound (การตั้งค่า > เสียง) ว่าถูกปิดเสียงหรือไม่ หากเว็บไซต์เฉพาะไม่มีเสียง ให้คลิกขวาที่แท็บเบราว์เซอร์และปิดใช้งาน Mute Tab (ปิดเสียงแท็บ)
  • เสียงถูกปิดสำหรับระบบทั้งหมดหรือไม่? คลิกที่มุมขวาบนของหน้าจอ และตรวจสอบว่าเสียงถูกปิดในเมนูป๊อปอัปหรือไม่

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

นี่คือวิธีแก้ไขที่เป็นไปได้บางส่วน:

1. ตรวจสอบการตั้งค่าอุปกรณ์เอาต์พุต (Output Device)

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

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

2. ลองใช้อุปกรณ์เอาต์พุตตัวอื่น

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

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

3. ตรวจสอบว่าการ์ดเสียง (Sound Card) ถูกตรวจพบหรือไม่

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

sudo lspci

คุณยังสามารถลอง sudo lspci | grep 'audio' ได้ แต่มีโอกาสเล็กน้อยที่อาจไม่จับการ์ดเสียงได้ หากคุณไม่เห็นอุปกรณ์เสียงในรายการอุปกรณ์ที่พิมพ์ออกมาในเทอร์มินัล การ์ดเสียงของคุณอาจไม่มีไดรเวอร์ที่ถูกต้องติดตั้งอยู่

หากคุณไม่ได้ติดตั้งการ์ดเสียงแยกต่างหาก คุณสามารถสมมติได้ว่าการ์ดเสียงในคอมพิวเตอร์ของคุณน่าจะเป็นอันที่มาพร้อมกับมاذเออร์บอร์ด (built-in) คุณสามารถกำหนดไดรเวอร์ที่ต้องการได้โดยหามاذเออร์บอร์ดด้วย lspci และค้นหาว่าการ์ดเสียงตัวไหนติดตั้งอยู่บนมاذเออร์บอร์ดนั้น

4. ตรวจสอบการตั้งค่า Alsamixer

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

alsamixer

อินเทอร์เฟซ Alsamixer จะปรากฏในเทอร์มินัล คุณสามารถกด F6 เพื่อเปลี่ยนการ์ดเสียงที่ใช้งาน — อาจจำเป็นสำหรับบางビルด์ของ PC คุณสามารถใช้ปุ่มลูกศรซ้ายและขวาเพื่อนำทางระหว่างควบคุมระดับเสียง ควบคุมที่ถูกปิดเสียงจะถูกทำเครื่องหมายว่า MM ตรวจสอบให้แน่ใจว่าควบคุมหลัก (master) และควบคุมอุปกรณ์เสียงของคุณไม่ได้ถูกปิดเสียง

5. รีสตาร์ท ALSA และ Sound Server ของคุณ

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

ขั้นแรก คุณต้องตรวจสอบว่าระบบของคุณใช้ Sound Server อะไร ด้วยคำสั่ง:

lsof /dev/snd/*

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

systemctl restart --user pipewire.service
systemctl restart --user wireplumber.service
systemctl status --user pipewire.service
systemctl status --user wireplumber.service
sudo alsa force-reload

แทนที่ user ด้วยชื่อผู้ใช้ของคุณ หากระบบของคุณใช้ระบบเสียง PulseAudio ให้แทนที่ pipewire.service ด้วย pulseaudio.service และข้ามการตรวจสอบ wireplumber.service

6. ติดตั้งใหม่ ALSA และ Sound Server

คุณอาจต้องติดตั้งใหม่ ALSA และ Sound Server หากการรีสตาร์ทไม่ช่วย สามารถทำได้ด้วยคำสั่ง:

sudo apt-get remove --purge alsa-base pipewire
sudo apt-get install alsa-base pipewire

เช่นเดียวกับก่อนหน้านี้ คุณควรแทนที่ pipewire ด้วย pulseaudio หากระบบของคุณใช้ Sound Server ตัวนั้น พิจารณาใช้คำสั่ง systemctl เพื่อตรวจสอบสถานะ PipeWire/PulseAudio และเริ่มบริการหากจำเป็น

เพลิดเพลินกับประสบการณ์การฟังที่ง่ายดายใน Ubuntu

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

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