替换mplayer?

sch*_*gel 8 sound command-line mplayer

我正在寻找 mplayer 的替代品。mplayer 是控制台的音频播放器。当我像这样使用它时它工作得很好:

 mplayer /path/to/audio.mp3
Run Code Online (Sandbox Code Playgroud)

但是当我在后台启动它时,我收到此错误消息:

 :~$ mplayer /home/.alarm-sounds/alien1.wav &
 [3] 15451
 :~$ MPlayer svn r34540 (Ubuntu), built with gcc-4.7 (C) 2000-2012 MPlayer Team
 mplayer: could not connect to socket
 mplayer: No such file or directory
 Failed to open LIRC support. You will not be able to use your remote control.
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个小警报脚本,因为我想练习一些修改版的番茄钟。

Oli*_*Oli 9

从手册

问:如何在后台运行 MPlayer?
答:使用:mplayer options filename < /dev/null &

重定向(注意它是来自 的输入/dev/null)很关键。mplayer期待输入。

所以在我的情况下,以下工作:

mplayer -nolirc ~/Music/Aqua/Aquarium/Aqua\ -\ 03\ -\ Barbie\ Girl.mp3 < /dev/null &
Run Code Online (Sandbox Code Playgroud)

这是一个较短的变体:

cat 0 | mplayer ~/Music/Aqua/Aquarium/Aqua\ -\ 03\ -\ Barbie\ Girl.mp3 &
Run Code Online (Sandbox Code Playgroud)


Oli*_*Oli 6

如果您只是处理 wav,则可以使用paplay.

对于 mpeg 播放,您还需要其他东西。您可以手动对其进行解码并将其管道送回,paplay但一种替代方法mplayermpeg321

mpg321 ~/Music/Aqua/Aquarium/Aqua\ -\ 03\ -\ Barbie\ Girl.mp3 &
Run Code Online (Sandbox Code Playgroud)

而现在那的播放。伟大的。当我做这些事情时,我需要选择一个更好的例子。


Set*_*eth 5

您可以使用cvlcvlc 的命令行版本。

cvlc ~/Music/pathToSomeAlbum/someSong.mp3 &
Run Code Online (Sandbox Code Playgroud)

如果您想隐藏所有输出并在后台运行它,请使用以下巧妙的技巧:

cvlc ~/Music/pathToSomeAlbum/someSong.mp3 2>&1 > /dev/null &
Run Code Online (Sandbox Code Playgroud)

这会将所有输出路由到/dev/null.