如何通过命令行在后台播放歌曲?


13

我已经安装了play

sudo apt-get install sox libsox-fmt-mp3

我现在可以像这样播放我的音频文件:

play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3

由于我正在学习shell,所以我希望可以做这样的事情:

 (sleep 10 ; play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3 ) &

10秒钟后,我可以看到如下屏幕:

 File Size: 7.38M     Bit Rate: 260k
  Encoding: MPEG audio    Info: 2012
  Channels: 2 @ 16-bit   Track: 01/09
Samplerate: 44100Hz      Album: Maalai Pozhudhin Mayakathilaey :::tunesinn.blogspot.com:::
Replaygain: off         Artist: Hemachandra, Achu
  Duration: 00:03:46.98  Title: Oh Baby Girl

但是这首歌没有播放。但是如果我这样做(没有&):

(sleep 10 ; play Desktop/SONGS/01\ -\ Oh\ Baby\ Girl.mp3 ) 

正在按预期工作。但是我无法同时使用终端。

如何使用解决我的问题&


5
如果只希望使用CLI播放器,以便可以在后台播放音频,强烈建议您尝试cmus。它甚至具有cmuscrobbler针对last.fm 的脚本,您可以通过映射X窗口系统中的全局热键cmus-remote。或者,您可以尝试使用类似的实用程序screen
jeremija'8

cmus这是一个很棒的程序-我应该将此评论扩展为完整答案!

Answers:


13

play与的后台&失败,因为play想要输出其状态,例如

In:12.7% 00:00:27.31 [00:03:07.52] Out:1.20M [!=====|=====!] Hd:0.0 Clip:0  

但如果有背景则不能。因此它一直等待直到中止。

要解决此问题,只需play使用-q(安静)开关即可。这将成功使它成为背景,并play在歌曲结束时终止。

(睡眠10;播放-q Desktop / SONGS / 01 \-\ Oh \ Baby \ Girl.mp3)&

您可以通过键入killall play(如果没有其他播放实例在运行)或kill $!(在开始播放后没有在同一终端中将其他进程作为后台进程-$!给出最后一个后台进程的PID )来停止它


这可行。但是,现在怎么停止播放这首歌?
蚂蚁

2
您可以通过键入停止它killall play(如果没有其他游戏实例正在运行),或kill $!(如果你还没有开始后转到后台运行在同一个终端的其他进程发挥 - $!给你的最后转到后台进程的PID)
ISH

3

从命令行在“后台”运行事物有更好的方法。

sudo apt-get install screen

它是Linux中最漂亮的命令行程序之一。它使您可以类似于“浏览器中的选项卡”,并在它们之间无缝切换,而不会中断正在运行的程序。它不是终端程序本身中的选项卡。但是,在该特定外壳中,您已经开始。

安装完成后,通过键入以下内容启动

screen 

在一个终端。

您可以使用ctrl-A c创建新的“标签”,然后使用ctrl-A n切换到下一个标签

如果您难以理解手册页,是一个更全面的教程


0

我的Nautilus-Actions将“播放”和“停止”添加到音频文件的上下文菜单

添加播放...

定义一个新动作,如下

“操作选项卡”

  1. 选中“在选择上下文菜单中显示项目”复选框
  2. 新动作上下文标签=播放
  3. 工具提示=播放音频
  4. 图标=媒体播放开始

“命令选项卡”

  1. 标签=播放
  2. 路径= / usr / bin / play -q
  3. 参数=%f
  4. (可选的W / Effects)参数=%f速率-v vol .25低音+5高音+5混响
  5. 工作目录=%d

“执行选项卡”

  1. 选中“正常”复选框

“ Mimetypes选项卡”

  1. 添加音频/ MPEG
  2. 添加音频/ flac
  3. 添加音频/ x-wav

或根据需要添加更多内容,或将其放置在任何地方。

其余的可以单独放置。


要添加止损...

定义一个新动作,如下

“操作选项卡”

  1. 选中“在选择上下文菜单中显示项目”复选框
  2. 上下文标签=停止
  3. 工具提示=停止音频
  4. 图标=媒体播放停止

“命令选项卡”

  1. 标签=停止
  2. 路径= killall
  3. 参数=播放
  4. 工作目录=%d

“执行选项卡”

  1. 选中“正常”复选框

“ Mimetypes选项卡”

  1. 添加音频/ MPEG
  2. 添加音频/ flac
  3. 添加音频/ x-wav

或根据需要添加更多内容,或将其放置在任何地方。

其余的可以单独放置。


根据需要进行调整。发挥效果选项,有关更多信息,请参见sox 手册。manpages.ubuntu.com/manpages
删除

2
这如何回答有关从命令行运行此命令的问题?您的答案似乎与Nautilus(启用GUI的文件管理器)有关。这是一个很好的答案,但有另一个问题。
gertvdijk

因为即使不是命令行回答,它也是一种快速而酷炫的方法。在这种情况下,找不到适合答案的问题。
删除


0

市场上有很多参与者。您可以尝试使用开源和跨平台的开源软件。是mplayer。尝试使用此命令检查它是否存在。

mplayer --help 
man mplayer

您将看到此命令的手册或文档。您可以播放音频文件。检查驱动程序。使用它之前,您应该具有驱动程序。如果您不使用此播放器,请在Ubuntu 16.04 LTS中使用apt命令或apt-get命令进行安装。

sudo apt install mplayer

要么

sudo apt-get install mplayer

只需在其后输入mplayer和文件名即可使用它。

mplayer file_path

0

这对我来说与mplayer合作

nohup mplayer  SomeSong.mp4 > /dev/null 2>&1 &
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.