ทำไมเอาต์พุตเสียง (เสียง) ของฉันไม่ทำงาน?


58

ฉันไม่สามารถเรียกใช้เสียง ฉันไม่ได้ยินอะไรเลยและไม่สามารถเล่นอะไรได้

มีวิธีการเปิดใช้งานเสียงหรือไม่


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

ต้องระบุแท็ก Distro เช่นเดียวกับสิ่งที่เอาท์พุทเสียงที่คุณพยายามใช้
Jivings

1
แนวทาง: stackoverflow.com/questions/how-to-ask โชคดีที่คำตอบที่ดีที่สุดในปัจจุบันนั้นกว้างพอที่จะครอบคลุมคำถามของคุณ อย่างไรก็ตามจะเป็นการดีกว่าสำหรับผู้ใช้ในอนาคตของเว็บไซต์หากคุณให้การตั้งค่าเฉพาะเพื่ออนุญาตให้มีคำตอบเฉพาะ
ramblinjan

ปัญหาของฉันมีปริมาณต่ำสำหรับเอาต์พุตต้นแบบ

คำตอบ:


66

เสียงไม่ทำงานกับจอภาพ HDMI

ปัญหานี้เกิดจากจอภาพคอมพิวเตอร์บางเครื่องที่เลือกโหมด DVI แม้ว่าจะเชื่อมต่อด้วยสาย HDMI ก็ตาม การแก้ไขนี้อาจจำเป็นแม้ว่าอุปกรณ์ HDMI อื่น ๆ จะทำงานได้อย่างสมบูรณ์บนหน้าจอเดียวกัน (หรือทีวี)! แก้ไขการตั้งค่าไฟล์ - โปรดดูคำแนะนำที่ราสเบอร์รี่-Pi แฟ้มการกำหนดค่า
เพิ่มบรรทัดต่อไปนี้ในไฟล์คอนฟิกูเรชัน:

hdmi_drive=2

เสียงไม่ทำงานเลยหรือในบางแอปพลิเคชัน

เสียงถูกปิดใช้งานโดยค่าเริ่มต้นเนื่องจากโปรแกรมควบคุมเสียง ALSA ยังคงเป็น "alpha" (ไม่ผ่านการทดสอบอย่างสมบูรณ์) ใน R-Pi หากต้องการลองใช้เสียงจากพรอมต์คำสั่งก่อนพิมพ์ "startx"

 sudo apt-get install alsa-utils
 sudo modprobe snd_bcm2835
 sudo aplay /usr/share/sounds/alsa/Front_Center.wav

โดยค่าเริ่มต้นจะเป็นอัตโนมัติ (hdmi หาก hdmi รองรับเสียงมิฉะนั้นอะนาล็อก) คุณสามารถบังคับมันด้วย:

sudo amixer -c 0 cset numid=3 <n>

โดยที่ n คือ 0 = อัตโนมัติ, 1 = หูฟัง, 2 = hdmi ( แหล่งที่มา ) หากคุณใช้ Debian ให้ลอง

cd /opt/vc/src/hello_pi
 make -C libs/ilclient
 make -C libs/vgfont
cd hello_audio
 make
 ./hello_audio.bin

เพื่อทดสอบเอาต์พุตอะนาล็อก และเพื่อทดสอบ HDMI

./hello_audio.bin 1

นอกจากนี้โปรดทราบว่าคุณอาจต้องเพิ่มผู้ใช้ของคุณในกลุ่ม 'เสียง' เพื่อรับสิทธิ์ในการเข้าถึงการ์ดเสียง

ทำการเปลี่ยนแปลงอย่างถาวร

sudo apt-get install alsa-utilsเป็นการถาวร แต่sudo modprobe snd_bcm2835เริ่มต้นไดรเวอร์สำหรับเซสชันปัจจุบันเท่านั้น เพื่อให้แน่ใจว่าโมดูลจะเริ่มต้นใช้ในการบูตเพิ่มsnd_bcm2835ไป/etc/modules( แหล่งที่มา )


4
aplay -l ยังเป็นคำสั่งที่มีประโยชน์สำหรับการแจกแจงหากมีอุปกรณ์ ALSA อยู่
stsquad

2
นี่เป็นข้อมูลที่ล้าสมัย ณ เดือนมกราคม 2013 มีการติดตั้ง alsa-utils ตามค่าเริ่มต้นและ lsmod แสดง snd_bcm2835 อยู่ที่นั่นโดยไม่ต้องทำอะไร
CaptSaltyJack

อาจเป็นเช่นนั้น แต่ปัญหาอาจยังคงเกิดขึ้นในอุปกรณ์เก่าและบาง distros
Itay Grudev

1
ฉันได้snd-bcm2835ในเมื่อมันควรจะได้รับ/etc/modules snd_bcm2835เมื่อฉันเปลี่ยนที่มันทำงาน
daviewales

1
คุณอาจจำเป็นต้องเปลี่ยนระดับเสียงมิกเซอร์หากไม่ได้ทำงานในสภาพแวดล้อมเดสก์ท็อปด้วยตัวควบคุม GUI ฉันไม่รู้ว่ามันเป็นแค่ไพหรือเป็นปัญหาทั่วไป แต่ไดรฟ์ข้อมูลของฉันถูกตั้งค่าเป็น -25dB ซึ่งแทบไม่ได้ยิน amixer cset numid=1 0ตั้งกลับเป็นระดับที่เหมาะสม
จูลส์

9

ฉันคิดว่าฉันมีวิธีในการแก้ปัญหาของคุณลองพิมพ์omxplayer -o local xxx.mp3(สำหรับไฟล์ mp3) หรือomxplayer -o local xxx.mp4(สำหรับไฟล์ mp4) เพื่อฟังเสียงจาก raspi บนหูฟังของคุณ และคุณยังสามารถพิมพ์omxplayer --helpสำหรับการใช้งานเพิ่มเติมเกี่ยวกับ omxplayer


9

ฉันพบปัญหาเดียวกันกับ Raspberry Pi 2 ของฉันฉันเชื่อมต่อ Pi ของฉันกับ HD TV ของฉันผ่านสาย HDMI ทางออกของฉัน:

ตั้งค่าเอาต์พุตเสียงโดยใช้คำสั่งต่อไปนี้:

amixer cset numid=3 2

ฉันทดสอบเอาต์พุตเสียงโดยใช้คำสั่งต่อไปนี้ แต่ไม่ได้ยินเสียง:

speaker-test -c2 -t wav

เพื่อเปิดใช้งานเสียง HDMI ฉันทำตามคำแนะนำที่นี่

sudo [your favourite editor] /boot/config.txt

บรรทัดที่ไม่ใส่ข้อคิดเห็น #hdmi_drive=2

Reboot Pi โดยใช้คำสั่งต่อไปนี้:

sudo shutdown -r 0

ฉันไม่จำเป็นต้องทำสองขั้นตอนแรกและฉันไม่แน่ใจว่าพวกเขาจำเป็นต้องได้รับคำตอบ แต่ส่วนที่เหลือทำงานให้ฉันด้วย Raspberry Pi 2
James Skemp

4

นี่เป็นข้อผิดพลาดทั่วไป ฉันคิดว่าสิ่งที่ทำลาย ALSA คือ PulseAudio หากคุณต้องการใช้ ALSA (ค่าเริ่มต้นแนะนำโดย Tux) ใช้sudo apt-get remove PulseAudio

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


คุณหมายถึงบั๊กอะไร คุณมีข้อมูลอ้างอิงหรือไม่?
bzeaman

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

4

ฉันใช้ OSMC ซึ่งทำงาน Debian และฉันได้รับเสียงเพื่อเล่นผ่านลำโพงทีวีซึ่งเชื่อมต่อด้วย HDMI https://youtu.be/p2ljmTE67gs

หากนี่คือสิ่งที่คุณพยายามจะทำลองเพิ่มdtparam=audio=onไป/boot/config.txt

โซลูชันดั้งเดิมที่โพสต์ที่นี่: https://discourse.osmc.tv/t/alsa-doesnt-work-after-last-update/10600


คำตอบนี้จะเหมาะสมอย่างยิ่งสำหรับผู้ที่อัพเกรดการติดตั้งรุ่นเก่าเป็นสิ่งที่ทันสมัยกว่า
Sam Hartman

2

สมมติฐานการทำงานปัจจุบันของฉันคืออย่างน้อยสำหรับฉันเสียงขึ้นอยู่กับสภาพแวดล้อมของเดสก์ท็อป ฉันมี Raspberry Pi 2 ใช้ Raspbian ติดตั้งจาก NOOBS ฉันเช็ดทำความสะอาดและติดตั้ง Raspbian ซ้ำหลายสิบครั้ง เสียงทำงานเมื่อฉันติดตั้ง Raspbian ครั้งแรก สิ่งต่อไปที่ฉันทำเป็นประจำคือการลบสภาพแวดล้อมเดสก์ทอป LXDE และแทนที่ด้วยสภาพแวดล้อมเดสก์ทอป XFCE และหลังจากนั้นฉันสังเกตเห็นว่าเสียงหยุดทำงาน การสลับสภาพแวดล้อมเดสก์ท็อปต้องทำให้เสียงของฉันพัง ฉันไม่ทราบว่าจะลบ LXDE หรือติดตั้ง XFCE ที่ทำให้แตก

บางทีคนที่ถูกต้องที่แนะนำว่าผู้กระทำผิดคือ PulseAudio และติดตั้ง XFCE ติดตั้ง PulseAudio ตอนนี้ติดตั้ง "lxde" แล้วไม่ได้ติดตั้ง "xfce4" ไม่ได้ติดตั้ง "pulseaudio" และเสียงทำงาน


1

ฉันพบปัญหาที่เสียงไม่ทำงานหรือเล่นแบบสแตติกแทนการบันทึกของฉัน แต่มันเป็นปัญหากับแนวทางของฉันไม่ใช่ตัว Pi เอง ฉันใช้ Raspbian 3.6.11 (2013-02-09-wheezy-raspbian)

ในขั้นต้นฉันพยายามเล่นไฟล์ MP3 aplayซึ่งดูเหมือนว่ารองรับ WAV เท่านั้น นอกจากนี้ไฟล์ MP3 บางไฟล์ที่ฉันใช้อาจไม่ได้สร้างด้วยตัวแปลงสัญญาณที่ใช้งานร่วมกันได้ ในการทดสอบเอาต์พุตเสียงบน Pi ของคุณฉันพบว่าดีที่สุดสำหรับไฟล์เสียงตัวอย่างที่มาพร้อมกับ Raspbian OS ตรวจสอบให้แน่ใจว่าคุณใช้เครื่องเล่นที่เหมาะสมกับรูปแบบเสียง ตัวอย่างเช่น:

  • ใช้aplayสำหรับไฟล์. wav ตัวอย่างเช่น: aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav(มีไฟล์เสียงตัวอย่างจำนวนมากใน / usr / share / scratch / Media / Sounds)
  • ใช้omxplayerหรือmpg123สำหรับไฟล์. mp3 ตัวอย่างเช่น: ใช้omxplayer /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3หรืออย่างอื่นmpg123 /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3(ถ้าคุณยังไม่มีmpg123คุณควรจะติดตั้งมันด้วยคำสั่งsudo apt-get install mpg123)
  • ใช้amixerสำหรับควบคุมระดับเสียงออก ตัวอย่างเช่น: amixer cset numid=1 50%ตั้งค่าเอาต์พุตระดับเสียงแจ็คหูฟังเป็นห้าสิบเปอร์เซ็นต์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งเสียงออกฉันพบเว็บไซต์ต่อไปนี้มีประโยชน์: http://blog.scphillips.com/2013/01/01/sound-configuration-on-raspberry-pi-with-alsa

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


AFAIK ข้อผิดพลาดที่ควรได้รับการแก้ไขในการอัปเดตไดรเวอร์เสียง ...
Itay Grudev

1
คุณถูก. ฉันอาจทำผิด แต่คนอื่นอาจมีปัญหาเดียวกันดังนั้นฉันจึงอัปเดตโพสต์ของฉันด้วยสิ่งที่ฉันค้นพบ ขอบคุณ Itehnological!
Steve HHH

1

ใน Raspberry Pi ของฉัน "การทดสอบลำโพง" ทำงานโดยไม่ต้องเพิ่มฮาร์ดแวร์ใด ๆ เพิ่มเติม ฉันเพิ่มเว็บแคมแล้ว อุปกรณ์เริ่มต้นมีการเปลี่ยนแปลงและฉันพบคำถามนี้จะทำให้ Alsa เลือกอุปกรณ์เสียงที่ต้องการโดยอัตโนมัติได้อย่างไร ซึ่งวิธีการแก้ปัญหา # 1ทำงานให้ฉัน

... สร้าง/etc/asound.confโดยทำดังนี้: ...

แทนที่ "การ์ด 1" ด้วยหมายเลขการ์ดที่ระบุด้านบน


1

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



0

ฉันพบปัญหานี้ขณะที่พยายามให้ Amazon Voice Services ทำงานกับ Raspberry Pi 3/3 + ฉันแน่ใจว่าได้เลือกเสียงอะนาล็อกแล้ว ยังใช้ aplay ทำงาน

ปรากฎว่า AVS ใช้องค์ประกอบ autoaudiosink ซึ่งจะเป็นการเลือกองค์ประกอบ omxhdmiaudiosink ซึ่งมีลำดับความสำคัญสูงกว่าองค์ประกอบ alsasink ในไฟล์ /etc/xdg/gstomx-rpi.conf มีส่วนสำหรับ omxhdmiaudiosink ซึ่งผมเพิ่งคอมเม้นท์ หลังจากทำเช่นนั้น AVS ก็ใช้งานได้ดี (ส่วนใหญ่คำตอบก็สั้นลงประมาณ ~ 0.25 วินาที)

ฉันคิดว่าฉันสามารถเปลี่ยนลำดับความสำคัญได้เช่นกัน


-1

หากคุณต้องการคำตอบง่ายๆมี 3 ตัวเลือก:

  1. HDMI: omxplayer -o hdmi filename.mp4
  2. ทั้งสอง: omxplayer -o both filename.mp4
  3. ท้องถิ่น: omxplayer -o local filename.mp4

ถ้าคุณต้องการให้มันเล่นแม้ว่าจอมอนิเตอร์ของคุณทำ

omxplayer -o hdmi

หากคุณต้องการทั้งสองอย่างแล้วทำ

omxplayer -o both

หากคุณมีหูฟังและคุณต้องการเสียบไว้ใน Raspberry ของคุณ

omxplayer -o local

จากนั้นเพิ่มชื่อไฟล์และไปที่นั่น มันง่ายมาก


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

สิ่งนี้ใช้ได้กับฉันฉันสามารถเล่นไฟล์ wav ได้ แต่ mp3 ไม่ได้ทำงานกับคำสั่ง omxplayer ฉันใส่แฟล็ก -o local มันทำงานได้ ยังคงหาสาเหตุ ... สำหรับฉันแล้วตั้งค่าเอาท์พุทของฉันไปที่หูฟังและพยายามทุกสิ่งอื่น ๆ
Taran J
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.