MOC,命令行音乐播放器

导读 moc(Music On Console,播放器程序是mocp,在Arch Linux的Commity中有个tray版本的moc,启动时会在面板上显示一个图标,能直接启动mocp服务和播放器。甚至还能让osdlyrics加载桌面歌词,不过这很卡.)

适用于命令行,在黑乎乎的Linux核心控制台(字符界面)上也能成功启动和播放,但Linux核心控制台默认是没有中文支持的,可以试试能显示中文的fbterm(直接从核心控制台启动,不需要运行X服务)如果需要的话。即便如此,正常使用仍然需要一番手动配置才行,如果全是英文歌曲的话例外。

基本上很多的Linux发行的官方源中已经包含了这个软件包,直接使用软件包管理工具安装。Arch Linux的是pacman。

注:启动mocp之前,如果需要启用更多的音频格式支持,有必要从源上安装解码器

mocp配置

在配置mocp之前,可以先从moc的man手册页或者info页获取更多的信息(比如配置文件是什么,应该放到什么位置,格式应该是什么样的……)

$ mocp --help  $ man mocp  $ info mocp  

注:moc的aur版本允许mocp加载歌词(但仅限某些utf-8编码的ascii文本(纯英文)),这个版本会和系统中已经安装的冲突.

虽然osdlyrics理论上也支持moc,然而仅仅只是安装moc然后打开mocp再打开osdlyrics并不会加载音频文件的lyrics的(尽管这也不会导致osdlyrics退出)

要让osdlyrics真正支持moc,还要安装moc-tray这个任务栏小程序并在启动osdlyrics之前启动mocp和moc-tray.

moc-tray可以直接启动mocp并且支持停止/播放/暂停/退出,下一首/上一首等动作,不过某些动作需要在mocp中配置播放列表才能得到正确响应。

aur上的moc构建和安装:

下载PKGBUILD等makepkg需要的脚本.

$ git clone https://aur.archlinux.org/moc-lyrics-git.git  $ pushd mocp-lyrics-git  $ makepkg -sr  

编译成功之后会产生一个.pkg.tar.xz包,然后使用pacman -U安装

$ mv moc-lyrics-git-1:0.2213.c51e02e-1-x86_64.pkg.tar.xz moc-lyrics-git-x86_64.pkg.tar.xz  # pacman -U moc-lyrics-git-x86_64.pkg.tar.xz  

拷贝mocp示例配置文件到~/.moc(没有就创建),参数配置可以从示例文件config.example(可以运行locate config.example)中找到

mocp的示例配置文件尽管使用了英文,但解释的很详细.

$ mkdir ~/.moc  $ cp `locate config.example` ~/.moc/config  

下面这是从实例配置文件拷过来的,以#号开始的都是注释(尽管注释看起来显得晦涩难懂,但作者解释的很清楚)。

~/.moc/config    # This is a configuration file for the MOC player. It should be named  # 'config' and placed in the ~/.moc directory. As this file can specify  # commands which invoke other applications, MOC will refuse to start if it  # is not owned by either root or the current user, or if it is writable by  # anyone other than its owner. All options are given with their default  # values, and therefore commented.  # Comments begin with '#'.  # You can use quotes and escape ('') in parameters.  #  # You can have variable values substituted by enclosing the variable name  # as "${...}". (This only applies to the portion of the option following  # the '='.) Variables are substituted first from the environment then,  # if not found, from the configuration options. (Note that the value of  # a configuration option substituted is that which it has at the time the  # substitution variable is encountered.) If there is a naming conflict  # between an environment and configuration variable, you may be able to  # resolve it by using lowercase as the environment variable matches are  # case-sensitive whereas the configuration variables are not.  #  # You can also use the form "${...:-...}" where the value in the second  # position will be substituted if the variable name given in the first  # position is unset or null.  #  # So, for example:  #  # MusicDir = /music/${USER:-public}  # Fastdir1 = ${MusicDir}/mp3/rock  # Fastdir2 = ${MusicDir}/mp3/electronic  # Fastdir3 = ${MusicDir}/mp3/rap  # Fastdir4 = ${MusicDir}/mp3/etc  #  ……  ……  ……  

mocp键盘映射配置

mocp键盘映射自定义,示例键盘映射可以从$prefix/share/moc/keymap.example找到

$ vim ~/.moc/keymap  menu_up            = k UP  menu_down        = j DOWN  menu_page_up            = ^b PAGE_UP  menu_page_down        = ^d PAGE_DOWN  menu_first_item        = M-b HOME  menu_last_item        = M-d END  

mocp主题

mocp主题默认安装到$prefix/share/moc/themes目录下,可以自定义主题只对用户生效(放到~/.moc/themes目录下).

mocp启动时指定的主题或者在用户级配置文件~/.moc/config中指定的主题可以自动从$prefix/share/moc/themes和~/.moc/themes中读取.(没有就要在~/.moc/config的Theme 使用绝对路径来指定)

创建~/.moc/themes目录

$ mkdir -pv ~/.moc/themes  $ cp /usr/share/moc/themes/moca_theme ~/.moc/themes/user_moca_theme    ~/.moc/themes/ user_moca_theme    background        = white    default bold  frame            = white    default bold  window_title        = yellow    default    bold  directory        = white        default  selected_directory    = white        default bold  playlist        = white default  selected_playlist    = cyan        default    bold  file            = green default bold  #selected_file        = yellow    red    bold  selected_file        = white black bold  …….  mocp User themes  

这是我的moc最终的样子:

fbterm显示出来也是这个样子的,不过桌面歌词就没有了。

注:在fbterm中将TERM变量一直设为fbterm时会让一些基于ncursers库的命令行程序界面(比如mc和alsamixer,mocp)变得乱七八糟。而只有在将TERM变量值设置为fbterm的时候才可以让vim在fbterm上支持更多的颜色。

本文原创地址:https://www.linuxprobe.com/linux-moc-music.html编辑:public,审核员:暂无

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » MOC,命令行音乐播放器