mocp
是一款开源的基于控制台的音乐播放器,也就是说在文本字符界面下使用的音乐播放器,支持 MP3
等音乐格式,也支持直接播放来自网络上的音乐文件,占用资源少,使用方便。
在 Linux
平台下 mocp
跟开源的声卡驱动 alsa
配合默契,直接安装就可以使用,不过貌似现在 alsa
不支持 OSX
平台,所以需要做一些额外的配置。
首先,使用 homebrew
来安装 mocp
,好处是会自动把各种依赖包安装好,坏处是直接安装好的用不了,需要进行手动设置:
brew install mocp
执行这个命令会自动安装一大堆依赖包(这也正是我们的真正目的),安装完毕之后,需要手动下载 mocp
源码,然后根据我们的参数编译,mocp
的下载地址在这里:
http://moc.daper.net/download
我们选择了尚在开发中的 beta2
进行下载:
http://ftp.daper.net/pub/soft/moc/unstable/moc-2.5.0-beta2.tar.bz2
假设下载到 ~/Downloads/
目录,解压:
% cd ~/Downloads
% tar xvjf moc-2.5.0-beta2.tar.bz2
% cd moc-2.5.0-beta2
接着是编译的具体命令,如下:
% ./configure --prefix=/usr/local/Cellar/moc/2.5.0-beta2 --with-jack --with-ncurses --enable-debug --without-ffmpeg
% make
% make install
说明:虽然 mocp
提示说如果想支持中文就需要加上 --with-ncurses
参数,但是我发现好像不起作用,仍然无法正常显示中文歌曲名,不知是否我的其他配置有问题。不过可以正常播放。
现在就安装好了,接下来就是对 mocp
的配置了。
先设置路径,如果使用 bash
,就需要在 .bashrc
文件增加如下语句:
PATH=/usr/local/Cellar/moc/2.5.0-beta1/bin:$PATH
接着配置界面主题文件:
% mkdir ~/.moc
% mkdir ~/.moc/themes
% vim ~/.moc/themes/rhowaldt_theme
把如下内容拷入:
background = default default
frame = default default
window_title = default default
directory = blue default
selected_directory = blue default reverse
playlist = default default
selected_playlist = default default reverse
file = default default
selected_file = default default reverse
marked_file = blue default bold
marked_selected_file = blue default reverse
info = default default
selected_info = default default
marked_info = blue default bold
marked_selected_info = blue default bold
status = default default
title = blue default bold
state = default default
current_time = default default
time_left = default default
total_time = default default
time_total_frames = default default
sound_parameters = default default
legend = default default
disabled = default default
enabled = blue default bold
empty_mixer_bar = default default
filled_mixer_bar = default default reverse
empty_time_bar = default default
filled_time_bar = default default reverse
entry = default default
entry_title = default default
error = default default bold
message = default default bold
plist_time = default default
接着修改配置文件 config
,先拷贝一个样本过来:
% cp /usr/local/Cellar/moc/2.5.0-beta2/share/doc/moc/config.example ~/.moc/config
编辑该文件:
% vim ~/.moc/config
加入如下内容(当然要根据你的实际配置来写,下文是我的配置):
ReadTags = yes
MusicDir = /Users/Admin/Music
StartInMusicDir = yes
SoundDriver = JACK
XTerms = xterm-256color
Theme = rhowaldt_theme
MOCDir = ~/.moc
UseRCC = no
剩下的就是如何运行 mocp
了,需要先把 jack
作为守护进程运行起来,jack
一般是把 alsa
作为默认的声卡驱动的,所以在 OSX
上如果直接运行 jack
会报错,需要我们手动指定生声卡驱动这样来运行:
% jackd -d coreaudio
但是每次这样做就太麻烦了,所以,我们借助 OSX
的命令 launchctl
来设置一个自动启动的守护进程,具体操作步骤如下:
% vim ~/Library/LaunchAgents/org.jackaudio.jackd.plist
写入内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.jackaudio.jackd</string>
<key>WorkingDirectory</key>
<string>/Users/Admin/</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/jack/0.241.1/bin/jackd</string>
<string>-d</string>
<string>coreaudio</string>
</array>
<key>EnableGlobbing</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
需要注意的有两个地方,一个是 /Users/Admin/
,一个是 /usr/local/Cellar/jack/0.241.1/bin/jackd
,一定要跟你的系统中的一致。
launchctl load ~/Library/LaunchAgents/org.jackaudio.jackd.plist
小技巧:如果写错了想要再次执行该命令会提示已经加载,这时可以先卸载掉,也就是 unload
,完整命令如下:
launchctl unload ~/Library/LaunchAgents/org.jackaudio.jackd.plist
现在就可以正常运行我们的 mocp
了!
因为这是一款基于控制台的播放器,所以就没有图形界面,需要我们熟悉一下它的快捷操作命令,首先记住最关键的一个–调出帮助,里面包括所有的快捷命令键(注意,大小写对应不同命令):
h 键,也就是在启动 mocp 后,按下 h 即可,再按一次取消帮助界面
最常用快捷键:
mocp——启动进入播放器
q——退出播放器,后台播放
Q——彻底关闭播放器
上下键——选择歌曲
Enter——播放选定歌曲
s——停止播放
p或者是空格——暂停/播放
音量控制:
,——减小音量
.——增大音量
播放列表:
a——将左面音乐加入到右边的播放列表
Tab键——进入右边的播放列表
d——从右边的播放列表移除歌曲
终端下的命令行参数:
mocp [options] [FILE]
-V 版本
-h 帮助信息
-D 错误信息
-S 仅仅使用服务端
-F 切换到前台播放
-R 切换音效
-m 切换到播放界面
-a 将歌曲添加到播放列表
-c 清除播放列表并退出
-f 切换到下一首歌曲
-r 切换到上一首歌曲
-p
-l
-x 结束mocp进程
-T 选择皮肤
-M 使用指定的文件夹,而不用默认的
-P 暂停播放
-U 取消暂停
-G 暂停/播放
-y 与其他客户端同步播放列表
-n 取消和其他客户端的播放列表同步
-i 输出当前曲目的相关信息
在终端下执行 mocp
可以进入主界面,主界面里的完整快捷键:
g or \:搜索
a:添加到播放列表
o:输入URL
s:停止
p:暂停
Enter:播放
l:关闭播放列表窗口
x:切换到音量调整,按,.调整音量
b:上一首歌曲
n:下一首歌曲
ESC:退出搜索
q:切换到后台播放,可关闭终端窗口
up:上
down:下
left:后退歌曲进度
right:前进歌曲进度
mocp可以在后台进行播放,也就是你关闭终端,音乐还依然会继续播放!
如果使用命令 q
在终端下退出了 mocp
的主界面,可以通过命令来彻底关闭它:
mocp -x
也可以使用如下命令重新呼出主界面:
mocp -m
解决中文乱码问题:
首先需要安装id3v2:
brew install id3v2
安装好之后执行如下命令来转换编码:
find ~/Music/ -type f -exec id3v2 -D {} \;
说明:~/Music/
为我的系统下音乐文件夹,你可以根据自己的实际情况进行修改。
我习惯在 tmux
下运行 mocp
,这样在我的 Linux
和 OSX
上就会有一致的操作界面,OSX
的截图如下:
参考:
MOC on OSX
mocp 终端下的音乐播放器