Dlaczego moje wyjście audio (dźwiękowe) nie działa?

58

Nie mogę uruchomić dźwięku. Nic nie słyszę i nic nie mogę odtworzyć.

Czy istnieje rozwiązanie umożliwiające włączenie dźwięku?

Itay Grudev
źródło
7
Dodaj więcej informacji, aby uczynić to pytanie bardziej przydatnym na przyszłość, nawet jeśli już na nie udzielono odpowiedzi.
ramblinjan
Wymagany tag Distro. Jak również wyjście audio, którego próbujesz użyć.
Jivings
1
Wytyczne: stackoverflow.com/questions/how-to-ask Na szczęście obecna najlepsza odpowiedź jest wystarczająco szeroka, aby pokryć twoje pytanie. Jednak dla przyszłych użytkowników witryny lepiej jest, jeśli podasz konkretną konfigurację, aby umożliwić konkretną odpowiedź.
ramblinjan
Moim problemem był niski poziom głośności na wyjściu głównym.

Odpowiedzi:

66

Dźwięk nie działa z monitorem HDMI

Jest to spowodowane niektórymi monitorami komputerowymi, które wybierają tryb DVI, nawet jeśli podłączony jest kabel HDMI. Ta poprawka może być konieczna, nawet jeśli inne urządzenia HDMI działają idealnie na tym samym monitorze (lub telewizorze)! Edytuj plik konfiguracyjny - patrz instrukcje w pliku konfiguracyjnym Raspberry-Pi .
Dodaj następujący wiersz do pliku konfiguracyjnego:

hdmi_drive=2

Dźwięk w ogóle nie działa lub w niektórych aplikacjach

Dźwięk jest domyślnie wyłączony, ponieważ sterownik dźwięku ALSA jest nadal „alfa” (nie w pełni przetestowany) na R-Pi. Aby wypróbować dźwięk, w wierszu polecenia przed „startx” wpisz

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

Domyślnie wyjście będzie automatyczne (hdmi, jeśli hdmi obsługuje audio, w przeciwnym razie analogowe). Możesz to wymusić za pomocą:

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

gdzie n wynosi 0 = auto, 1 = słuchawki, 2 = hdmi. ( źródło ) Jeśli używasz Debiana, spróbuj

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

do testowania wyjścia analogowego. I przetestować HDMI.

./hello_audio.bin 1

Pamiętaj też, że może być konieczne dodanie użytkownika do grupy „audio”, aby uzyskać pozwolenie na dostęp do karty dźwiękowej.

Wprowadzanie zmian na stałe

sudo apt-get install alsa-utilsjest stały, ale sudo modprobe snd_bcm2835tylko inicjuje sterownik dla bieżącej sesji. Aby upewnić się, że moduł został zainicjowany podczas rozruchu, dodaj snd_bcm2835do /etc/modules( źródło ).

Itay Grudev
źródło
4
aplay -l to także przydatne polecenie do wyliczenia, czy istnieją jakieś urządzenia ALSA.
stsquad
2
To są nieaktualne informacje z stycznia 2013 r. Alsa-utils jest instalowane domyślnie, a lsmod pokazuje, że snd_bcm2835 jest tam bez konieczności robienia czegokolwiek.
CaptSaltyJack
Może i tak, ale problem może nadal występować na starych urządzeniach i niektórych dystrybucjach
Itay Grudev
1
Miałem snd-bcm2835w /etc/modulesktórym powinny być snd_bcm2835. Kiedy to zmieniłem, zadziałało.
daviewales
1
Może być również konieczna zmiana głośności miksera, jeśli nie działa w środowisku pulpitu z kontrolką GUI. Nie wiem, czy to była tylko moja pi, czy też jest to powszechny problem, ale moja głośność została ustawiona na -25 dB, co jest praktycznie niesłyszalne. amixer cset numid=1 0przywraca rozsądny poziom.
Jules
9

Myślę, że mam sposób na rozwiązanie twojego problemu, spróbuj wpisać omxplayer -o local xxx.mp3(dla pliku mp3) lub omxplayer -o local xxx.mp4(dla pliku mp4), aby usłyszeć dźwięk z raspi na słuchawkach. Możesz także wpisać omxplayer --helpwięcej informacji na temat omxplayera.

chinashieh
źródło
9

Miałem też ten sam problem z moim Raspberry Pi 2. Podłączyłem Pi do telewizora HD za pomocą kabla HDMI. Moje rozwiązanie:

Ustaw wyjście audio za pomocą następującego polecenia:

amixer cset numid=3 2

Przetestowałem wyjście dźwięku za pomocą następującego polecenia, ale nie słychać dźwięku:

speaker-test -c2 -t wav

Aby włączyć dźwięk HDMI, postępowałem zgodnie ze wskazówkami tutaj

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

Linia komentowania #hdmi_drive=2

Uruchom ponownie Pi za pomocą następującego polecenia:

sudo shutdown -r 0
użytkownik29132
źródło
Nie musiałem robić pierwszych dwóch kroków i nie jestem pewien, czy w ogóle muszą znaleźć odpowiedź, ale reszta pracowała dla mnie z Raspberry Pi 2.
James Skemp
4

To jest powszechny błąd. Myślę, że tym, co łamie ALSA, jest PulseAudio. Jeśli chcesz użyć ALSA (domyślnie, zalecane przez Tux) użyjsudo apt-get remove PulseAudio

Aby uzyskać inne poprawki, wypróbuj wiki. To wszystko zależy. Spróbuj tego najpierw (ponieważ jest to najczęściej)

Algo
źródło
Jaki błąd masz na myśli? Czy masz referencje?
bzeaman
Naprawiłem to dla mnie. Używam PuleAudio do odtwarzania dźwięku z zestawu słuchawkowego Bluetooth. Kiedy próbowałem użyć analogowego portu audio, nie mogłem go uruchomić i wszystko w mojej konfiguracji było prawidłowe. Usunąłem PulseAudio i działa analogowy port audio. Szkoda, że ​​muszę odinstalować i ponownie zainstalować pakiet, aby przełączyć między Bluetooth a gniazdem 3,5 mm.
MidnightJava
4

Używam OSMC, na którym działa Debian, i mam dźwięk do odtwarzania przez głośniki telewizora, które są podłączone przez HDMI. https://youtu.be/p2ljmTE67gs

Jeśli to, co próbujesz zrobić, spróbuj dodać dtparam=audio=ondo/boot/config.txt

Oryginalne rozwiązanie opublikowane tutaj: https://discourse.osmc.tv/t/alsa-doesnt-work-after-last-update/10600

jjinking
źródło
Ta odpowiedź będzie szczególnie odpowiednia dla osób uaktualniających starsze instalacje do czegoś bardziej nowoczesnego.
Sam Hartman,
2

Moja obecna hipoteza robocza jest taka, że ​​przynajmniej dla mnie dźwięk zależy w jakiś sposób od środowiska pulpitu. Mam Raspberry Pi 2 z systemem Raspbian, zainstalowany z NOOBS. Wyczyściłem go kilkakrotnie i ponownie zainstalowałem Raspbian. Dźwięk działa, gdy po raz pierwszy instaluję Raspbian. Następną rzeczą, którą zwykle robię, jest usunięcie środowiska pulpitu LXDE i zastąpienie go środowiskiem graficznym XFCE, a potem zauważyłem, że dźwięk przestał działać. Przełączanie środowisk pulpitu musi zepsuć mój dźwięk. Nie wiem, czy usuwa LXDE, czy instaluje XFCE, który go psuje.

Być może osoba ma rację, która zasugerowała, że ​​winowajcą jest PulseAudio, a instalacja XFCE powoduje zainstalowanie PulseAudio. Obecnie „lxde” jest zainstalowany, „xfce4” nie jest zainstalowany, „pulseaudio” nie jest zainstalowany, a dźwięk działa.

Daniel
źródło
1

Wystąpił problem polegający na tym, że dźwięk nie działał lub odtwarzany był dźwięk statyczny zamiast nagrania. Ale to był problem z moim podejściem, nie samym Pi. Używam Raspbian 3.6.11 (2013-02-09-wheezy-raspbian).

Przede wszystkim próbowałem odtworzyć plik MP3 aplay, który wydaje się obsługiwać tylko pliki WAV. Ponadto niektóre pliki MP3, których użyłem, mogły nie zostać utworzone za pomocą kompatybilnego kodeka. Aby przetestować wyjście dźwięku na swoim Pi, najlepiej było, gdy próbowałem pliki audio dostarczane z systemem operacyjnym Raspbian. Upewnij się także, że używasz odtwarzacza odpowiedniego dla formatu audio. Na przykład:

  • Użyj aplaydo plików .wav. Na przykład: aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav(istnieje wiele przykładowych plików audio w / usr / share / scratch / Media / Sounds).
  • Użyj omxplayerlub mpg123dla plików .mp3. Na przykład: użyj omxplayer /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3lub alternatywnie mpg123 /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3(jeśli jeszcze tego nie masz mpg123, powinieneś być w stanie zainstalować go za pomocą polecenia sudo apt-get install mpg123).
  • Służy amixerdo sterowania poziomem głośności. Na przykład: amixer cset numid=1 50%ustawia głośność wyjścia słuchawkowego na pięćdziesiąt procent.

Aby uzyskać więcej informacji na temat poleceń wyjścia audio, znalazłem następującą witrynę internetową: http://blog.scphillips.com/2013/01/sound-configuration-on-raspberry-pi-with-alsa

Za to, co jest tego warte, słyszałem również trzaskający dźwięk spowodowany skokiem napięcia, gdy dźwięk zaczyna się i kończy . Ten problem został teraz rozwiązany w oprogramowaniu Pi.

Steve HHH
źródło
AFAIK, że błąd powinien zostać naprawiony w jednej z aktualizacji sterownika audio ...
Itay Grudev
1
Masz rację. Prawdopodobnie źle to zrobiłem, ale inni mogą mieć ten sam problem, więc zaktualizowałem swój post o moje ustalenia. Dzięki Itehnological!
Steve HHH
1

Sam miałem problemy z analogowym wyjściem audio. Przyszedł do tego wątku między innymi, aby spróbować rozwiązać. W końcu okazuje się, że wystarczy kliknąć prawym przyciskiem myszy ikonę audio na pasku narzędzi i zmienić wybór z HDMI na Analogowy. Prawdopodobnie nie rozwiązuje to problemu, ale może pomóc komuś, kto nie słyszy dźwięku i który przegapił to łatwe rozwiązanie.

Alex Skarulis
źródło
0

Natknąłem się na ten problem, próbując zmusić Amazon Voice Services do pracy na Raspberry Pi 3/3 +. Upewniłem się, że wybrano dźwięk analogowy. Działa również przy użyciu aplay.

Okazuje się, że AVS korzysta z elementu autoaudiosink, który z kolei wybrał element omxhdmiaudiosink, który miał wyższy priorytet niż element alsasink. W pliku /etc/xdg/gstomx-rpi.conf znajduje się sekcja omxhdmiaudiosink, którą po prostu skomentowałem. Po wykonaniu tej czynności system AVS działał dobrze (w większości przypadków odpowiedzi skracano o około ~ 0,25 sekundy).

Przypuszczam, że mógłbym również zmienić priorytet.

Bill Tonnies
źródło
-1

Jeśli chcesz prostej odpowiedzi, masz 3 opcje:

  1. hdmi: omxplayer -o hdmi filename.mp4
  2. obie: omxplayer -o both filename.mp4
  3. lokalny: omxplayer -o local filename.mp4

Jeśli chcesz, żeby gra była odtwarzana przez Twój monitor

omxplayer -o hdmi

Jeśli chcesz jedno i drugie, zrób to

omxplayer -o both

Jeśli masz słuchawki i chcesz podłączyć je do Raspberry, zrób to

omxplayer -o local

a następnie dodaj swoją nazwę pliku i gotowe; to jest takie proste

zaraz
źródło
Jeśli przeczytasz zaakceptowaną odpowiedź, problem polega na tym, że dźwięk nie jest włączony na poziomie płyty, więc ustawienie specyficzne dla programu nie będzie działać. Po drugie, co omxplayer ma wspólnego z pierwotnym pytaniem?
Steve Robillard
To działało dla mnie, byłem w stanie odtworzyć plik wav, ale mp3 nie działało z poleceniem omxplayer. Nałożyłem -o lokalną flagę, która działała. Wciąż zastanawiam się, dlaczego ... bo już ustawiłem wyjście na słuchawki i próbowałem wszystkich innych rzeczy
Taran J