Por que minha saída de áudio (som) não está funcionando?

58

Não consigo colocar o áudio em execução. Não ouço nada e não consigo tocar nada.

Existe uma solução para ativar o áudio?

Itay Grudev
fonte
7
Adicione mais informações para tornar essa pergunta mais útil para o futuro, mesmo que já tenha sido respondida.
Ramblinjan
Etiqueta de distribuição necessária. Assim como a saída de áudio que você está tentando usar.
Jivings
11
Diretrizes: stackoverflow.com/questions/how-to-ask Felizmente, a melhor resposta atual é ampla o suficiente para cobrir sua pergunta. No entanto, é melhor para futuros usuários do site se você definir sua configuração específica para permitir uma resposta específica.
Ramblinjan
Meu problema era baixo volume para a saída principal.

Respostas:

66

O som não funciona com um monitor HDMI

Isso é causado por alguns monitores de computador que selecionam o modo DVI, mesmo que um cabo HDMI esteja conectado. Essa correção pode ser necessária mesmo que outros dispositivos HDMI funcionem perfeitamente no mesmo monitor (ou TV)! Edite o arquivo de configuração - consulte as instruções em Arquivo de configuração do Raspberry-Pi .
Adicione a seguinte linha ao arquivo de configuração:

hdmi_drive=2

O som não funciona, ou em alguns aplicativos

O som está desativado por padrão porque o driver de som ALSA ainda é "alfa" (não foi totalmente testado) no R-Pi. Para experimentar o som, no prompt de comando antes de "startx", digite

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

Por padrão, a saída será automática (HDMI, se HDMI suportar áudio, caso contrário, analógico). Você pode forçá-lo com:

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

onde n é 0 = automático, 1 = fones de ouvido, 2 = HDMI. ( fonte ) Se você estiver executando o Debian, tente

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

para testar a saída analógica. E para testar HDMI.

./hello_audio.bin 1

Observe também que talvez você precise adicionar seu usuário ao grupo 'áudio' para obter permissão para acessar a placa de som.

Tornando as alterações permanentes

sudo apt-get install alsa-utilsé permanente, mas sudo modprobe snd_bcm2835apenas inicializa o driver para a sessão atual. Para garantir que o módulo seja inicializado na inicialização, adicione snd_bcm2835a /etc/modules( fonte ).

Itay Grudev
fonte
4
aplay -l também é um comando útil para enumerar se houver algum dispositivo ALSA.
Stsquad
2
Essas informações estão desatualizadas em janeiro de 2013. O alsa-utils é instalado por padrão e o lsmod mostra que snd_bcm2835 está lá sem precisar fazer nada.
CaptSaltyJack
Talvez sim, mas o problema ainda pode ocorrer em dispositivos antigos e algumas distros
Itay Grudev
11
Eu tive snd-bcm2835em /etc/modulesquando deveria ter sido snd_bcm2835. Depois que mudei isso, funcionou.
Davisales
11
Você também pode precisar alterar o volume do mixer se não estiver executando em um ambiente de área de trabalho com um controle da GUI. Não sei se era apenas meu pi ou se é um problema comum, mas meu volume foi definido como -25dB, o que é praticamente inaudível. amixer cset numid=1 0volta a um nível razoável.
Jules
9

Acho que tenho uma maneira de resolver seu problema, tente digitar omxplayer -o local xxx.mp3(para arquivo mp3) ou omxplayer -o local xxx.mp4(para arquivo mp4) para ouvir o som do raspi no seu fone de ouvido. E você também pode digitar omxplayer --helppara obter mais uso sobre o omxplayer.

chinashieh
fonte
9

Também encontrei o mesmo problema com o meu Raspberry Pi 2. Conectei o meu Pi à minha TV HD através de um cabo HDMI. Minha solução:

Defina a saída de áudio usando o seguinte comando:

amixer cset numid=3 2

Testei a saída de som usando o seguinte comando, mas nenhum som foi ouvido:

speaker-test -c2 -t wav

Para ativar o som HDMI, segui as instruções encontradas aqui

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

Linha de comentário #hdmi_drive=2

Reinicie o Pi usando o seguinte comando:

sudo shutdown -r 0
user29132
fonte
Eu não tinha necessidade de fazer as duas primeiras etapas, e eu não tenho certeza que eles ainda precisam de ser na resposta, mas o resto funcionou para mim com um Raspberry Pi 2.
James Skemp
4

Este é um erro comum. Eu acho que o que está quebrando o ALSA é o PulseAudio. Se você deseja usar o ALSA (padrão, recomendado pelo Tux), usesudo apt-get remove PulseAudio

Para outras correções, tente o wiki. Tudo depende. Tente isso primeiro (já que este é o mais comum)

Algo
fonte
A que bug você está se referindo? Você possui uma referência?
bzeaman
Isso consertou para mim. Eu uso o PuleAudio para reproduzir som em um fone de ouvido bluetooth. Quando tentei usar a porta de áudio analógica, não consegui fazê-la funcionar e tudo na minha configuração estava correto. Eu removi o PulseAudio e a porta de áudio analógica funciona. Pena que tenho que desinstalar e reinstalar um pacote para alternar entre o bluetooth e o conector de 3,5 mm.
MidnightJava
4

Estou executando o OSMC, que executa o Debian, e o som é reproduzido através dos alto-falantes da minha TV, conectados por HDMI. https://youtu.be/p2ljmTE67gs

Se é isso que você está tentando fazer, tente adicionar dtparam=audio=onao/boot/config.txt

Solução original postada aqui: https://discourse.osmc.tv/t/alsa-doesnt-work-after-last-update/10600

brincando
fonte
Essa resposta será particularmente apropriada para as pessoas que atualizam instalações mais antigas para algo mais moderno.
Sam Hartman
2

Minha hipótese de trabalho atual é que, pelo menos para mim, o áudio depende de alguma forma do ambiente da área de trabalho. Eu tenho um Raspberry Pi 2, executando o Raspbian, instalado a partir do NOOBS. Limpei-o e reinstalei o Raspbian dezenas de vezes. O som funciona quando instalo o Raspbian pela primeira vez. A próxima coisa que costumo fazer é remover o ambiente de área de trabalho LXDE e substituí-lo pelo ambiente de área de trabalho XFCE; depois disso, percebo que o som parou de funcionar. A mudança de ambientes da área de trabalho deve estar interrompendo meu áudio. Não sei se está removendo o LXDE ou instalando o XFCE que o quebra.

Talvez a pessoa esteja certa que sugeriu que o culpado é o PulseAudio, e a instalação do XFCE instala o PulseAudio. No momento, "lxde" está instalado, "xfce4" não está instalado, "pulseaudio" não está instalado e o som está funcionando.

Daniel
fonte
1

Encontrei um problema em que o som não funcionava ou a estática era reproduzida em vez da minha gravação. Mas foi um problema com minha abordagem, não com o próprio Pi. Estou usando o Raspbian 3.6.11 (09-02-2013-wheezy-raspbian).

Primeiramente, tentei reproduzir um arquivo MP3 aplay, o qual parece apenas suportar WAVs. Além disso, alguns dos arquivos MP3 que usei podem não ter sido criados com um codec compatível. Para testar a saída de som no seu Pi, achei melhor os arquivos de áudio de amostra que acompanham o Raspbian OS. Verifique também se você usa um player apropriado para o formato de áudio. Por exemplo:

  • Use aplaypara arquivos .wav. Por exemplo: aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav(existem muitos arquivos de áudio de amostra em / usr / share / scratch / Media / Sounds).
  • Use omxplayerou mpg123para arquivos .mp3. Por exemplo: use omxplayer /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3ou como alternativa mpg123 /usr/share/scratch/Media/Sounds/Effects/WaterDrop.mp3(se você ainda não o possui mpg123, poderá instalá-lo com o comando sudo apt-get install mpg123).
  • Use amixerpara controlar a saída do volume. Por exemplo: amixer cset numid=1 50%define a saída do volume do fone de ouvido para cinquenta por cento.

Para obter mais informações sobre comandos de saída de áudio, achei o seguinte site útil: http://blog.scphillips.com/2013/01/sound-configuration-on-raspberry-pi-with-alsa

Pelo que vale, eu também estava experimentando um som de estalo causado por um salto de tensão quando o áudio inicia e para . Esse problema agora foi corrigido no firmware Pi.

Steve HHH
fonte
AFAIK que bug deveria ter sido fixada em uma das atualizações de drivers de áudio ...
Itay Grudev
11
Você está certo. Provavelmente, eu estava apenas fazendo errado, mas outros podem ter o mesmo problema, por isso atualizei minha postagem com minhas descobertas. Obrigado Itehnological!
21413 Steve HHH
1

Eu estava tendo problemas com a saída de áudio analógico. Chegou a esta discussão, entre outros, para tentar resolver. No final, acontece que eu só precisava clicar com o botão direito do mouse no ícone de áudio na minha barra de ferramentas e alterar a seleção de HDMI para Analógico. Isso provavelmente não resolve o seu problema, mas pode ajudar alguém que não está ouvindo áudio e que perdeu a solução fácil.

Alex Skarulis
fonte
0

Corri para esse problema ao tentar fazer com que o Amazon Voice Services funcionasse em um Raspberry Pi 3/3 +. Verifiquei se o áudio analógico foi selecionado. Também usando aplay funcionou.

Acontece que o AVS usa o elemento autoaudiosink, que por sua vez estava selecionando o elemento omxhdmiaudiosink, que tinha uma prioridade mais alta que o elemento alsasink. No arquivo /etc/xdg/gstomx-rpi.conf, há uma seção para omxhdmiaudiosink que eu simplesmente comentei. Depois disso, o AVS funcionou bem (na maioria das vezes - as respostas foram reduzidas em cerca de 0,25 segundos).

Suponho que também poderia ter mudado a prioridade.

Bill Tonnies
fonte
-1

Se você deseja uma resposta simples, existem 3 opções:

  1. HDMI: omxplayer -o hdmi filename.mp4
  2. ambos: omxplayer -o both filename.mp4
  3. local: omxplayer -o local filename.mp4

Se você quiser que o seu monitor seja reproduzido

omxplayer -o hdmi

Se você quer os dois, então faça

omxplayer -o both

Se você possui fones de ouvido e deseja conectá-lo ao seu Raspberry do

omxplayer -o local

e adicione seu nome de arquivo e pronto; É tão fácil

anon
fonte
Se você ler a resposta aceita, o problema é que o som não está ativado no nível da placa, portanto, uma configuração específica do programa não funcionará. Segundo, o que o omxplayer tem a ver com a pergunta original?
9788 Steve Rogillard #
Isso funcionou para mim, eu era capaz de reproduzir arquivos wav, mas o mp3 não estava funcionando com o comando omxplayer. Coloquei a bandeira local -o que funcionou. Ainda tentando descobrir porque ... porque eu já definir a minha saída para fone de ouvido e tentou todas as outras coisas
Taran J