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

通过Linux命令行播放mp3或wav文件

我想做一个由Ubuntu(没有图形界面)盒子支持的报警系统,通过命令行播放各种公告和报警音轨(.mp3或.wav)。我也可能会用另一个插座监听器来包装它。(例如:Ruby Sinatra)

我有什么办法吗?

答案 (8)

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

在Linux中播放WAV文件的最标准的方法是使用aplay命令,它是ALSA系统的一部分。(维基百科) (aplay man page)

(在Fedora和Ubuntu/Mint中都是alsa-utils软件包的一部分)

这不需要任何额外的软件包,如sox或mplayer或vlc,只需要基本的ALSA,这是现在任何系统的一部分。

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

mpg123是一个命令行工具,可以播放MP3文件。你可以在Ubuntu中用以下方法安装它:

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

安装vlc的方法是:

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

确保你已经打开了所有的存储库。同时在安装前运行下面的程序:

sudo apt-get update

VLC有一个由cvlc调用的命令行操作方法。接下来的部分就是写一个.sh来调用这个命令。我不擅长写bash脚本。最终的结果会是这样的:

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

你可以简单地将声音数据传输到电脑音箱设备上:

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

mplayer是另一个可以在命令行中播放任何音频/视频格式的播放器。

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

在Ubuntu 16.04上,不需要安装任何东西。你可以使用paplay [audio]来播放声音,并且是PulseAudio声音服务器的一部分:

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

在这里为大家补充一个答案(问题是2011年的老问题,我现在是2019年的),因为我发现了另一种方法:

ffmpeg安装在我的ubuntu 19.04

所以:

$ 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

享受

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

canberra-gtk-play

对于简单的bash脚本,mplayer可能有点太重,输出的内容也太啰嗦了。在ubuntu上预装了一个内置的选项是canberra-gtk-play

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

注意:它使用的是alerts音量,你必须通过--file=才能播放路径中的文件。 0/gst-launch-0.10

另一种方法是使用gstreamer命令行工具,这在大多数现代linux盒子上都有:

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

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

要压制所有的输出,将其重定向到/usr/share/sounds

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

/dev/nullgst-launch-1.0都可能存在于你的系统中。