2011-04-27 12:58:56 +0000 2011-04-27 12:58:56 +0000
81
81

reproduzir ficheiro mp3 ou wav via linha de comando Linux

Gostaria de fazer um sistema de alarme apoiado por uma caixa Ubuntu (sem interface gráfica), que reproduz vários anúncios e faixas de áudio de alarme (.mp3 ou .wav) via linha de comando.

Por exemplo:

$ root> audioplay ./hello.wav

O áudio deve vir do conector de áudio do PC. Também posso embrulhá-lo com outro ouvinte de tomada. (por exemplo: Ruby Sinatra)

Alguma ideia de como posso fazer isto?

Respostas (8)

61
61
61
2012-11-28 06:20:06 +0000

A forma mais standard de reproduzir um ficheiro WAV em Linux é utilizando o comando aplay, que faz parte do sistema ALSA.

aplay [flags] [filename [filename]] ...

aplay a.wav

Links: (Wikipedia) (aplay man page)

(Tanto no Fedora como no Ubuntu/Mint faz parte do pacote alsa-utils)

Isto não requer nenhum pacote adicional para a sua instalação Linux como sox ou mplayer ou vlc, apenas o ALSA básico que faz parte de qualquer sistema hoje em dia.

48
48
48
2011-04-27 13:14:11 +0000

mpg123 é um utilitário de linha de comando que reproduz ficheiros mp3. Pode instalá-lo no Ubuntu com:

sudo apt-get install mpg123
23
23
23
2011-04-28 04:48:27 +0000

Instale vlc usando:

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

Certifique-se de que tem todos os repositórios abertos. Execute também o seguinte antes de instalar:

sudo apt-get update

VLC tem um método de operação por linha de comando invocado por cvlc. A próxima parte seria escrever um .sh que chamará o comando. Eu não sou bom a escrever scripts de bash. O resultado final seria algo como:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3
8
8
8
2011-04-27 13:03:10 +0000

Pode simplesmente canalizar os seus dados sonoros para o altifalante de PC:

cat rawsound | /dev/pcsp
7
7
7
2013-08-20 13:35:34 +0000

para instalar no ubuntu basta executar este comando:

sudo apt-get install mplayer

pode então reproduzir o ficheiro usando esta sintaxe:

mplayer [path to file]

boa sorte!

7
7
7
2017-03-08 11:16:46 +0000

Em Ubuntu 16.04, não há necessidade de instalar nada. Você pode reproduzir um som usando paplay [audio] com é parte do servidor de som PulseAudio :

paplay mysound.mp3
1
1
1
2019-05-07 16:37:44 +0000

adicionando uma resposta para as pessoas que vão passar aqui (a pergunta é 2011 antigo, o meu agora é 2019), porque encontrei outra maneira:

ffmpeg está instalado no meu ubuntu 19.04

Então:

$ ffplay music.mp3 

-nodisp
hide spectrum analyzer

-nostats
hide cursor/file informations

-hide_banner
hide build informations

hide all (no output):
$ ffplay music.mp3 -nodisp -nostats -hide_banner

desfrute

0
0
0
2016-11-16 08:05:47 +0000

canberra-gtk-play

Para scripts simples de bash o mplayer é provavelmente um pouco pesado e demasiado verboso em termos de saída. Uma opção integrada é o canberra-gtk-play que vem pré-instalado no ubuntu:

canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg

Nota: utiliza o volume de alertas, e tem de passar o --file= para reproduzir um ficheiro a partir de um caminho.

Também pode reproduzir um som por id que representa o nome do ficheiro sem extensão de ficheiros multimédia sob /usr/share/sounds (aparentemente isto só funciona para sons que estão registados como parte de um tema sonoro):

canberra-gtk-play --id="desktop-login"

canberra-gtk-play --id="message"

gst-launch-1. 0/gst-launch-0.10

Outra opção é usar as ferramentas de linha de comando gstreamer que estão presentes na maioria das caixas linux modernas:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg

Para suprimir toda a saída redireccione-a para /dev/null:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg > /dev/null 2>&1

Tanto gst-launch-1.0 como gst-launch-0.10 podem estar presentes no seu sistema.