cmus是一款开源的终端音乐播放器。它小巧快速,而又功能强大。cmus支持Ogg/Vorbis、MP3、FLAC、Musepack、WavPack、WMA、WAV、AAC、MP4等格式,包含Gapless播放及ReplayGain支持,Vi风格的按键绑定,播放列表过滤,可定制配色方案,UTF-8支持等等。

1. 安装

apt install cmus

2. 操作说明

Howtoing运维教程

终端执行 cmus 启动。

播放控制:

  • x 播放或重播音乐
  • c 暂停
  • b 播放下一首音乐
  • z 播放前一首音乐
  • shift + D 删除
  • u 更新缓存
  • q 退出程序

循环模式:

  • s 随机播放
  • f 顺序播放
  • r 循环播放
  • Ctrl + R 切换单曲循环

音量调节

  • - 减小
  • = 增大

播放列表管理(不推荐使用,建议直接操作playlist)

  • 导入本地音乐: :a /path/to/your/music/folder
  • 清空列表 :clear [-l] [-p] [-q]
  • 保存播放列表 :save /path/to/playlist
  • 加载播放列表 :load /path/to/playlist

方向键

  • H 快退(5s)
  • J 上
  • K 下
  • L 快进(5s)

2.1. *PlayList歌单

  • 新建歌单 :pl-create <name>
  • 导出歌单 :pl-export <filename>
  • 导入歌单 :pl-import [filename]

关于歌单,这里多说几句。其实大家听本地歌曲,没必要使用 :add /path/xxx 导入到播放列表。直接使用 5 界面,将想听的歌曲从目录中添加到playlist即可。具体操作如下:

  1. 创建或切换到目标歌单:

    • 3 进入playlist模式
    • :pl-create <name>
    • 在这个界面中,执行上下键选择目标歌单
    • 空格 将其定义为当前操作对象
  2. 5 进入文件浏览模式

  3. 选择目标音频文件或整个文件夹,按 y 将其添加到目标歌单

2.2. 其他

  • , 快退60s
  • . 快进60s
  • :cd dir 切换目录
  • :pwd 类似的shell标准命令
  • :set resume=true 在启动时恢复播放
  • :set mouse=true 启用鼠标
  • :set mpris=true 启用MPRIS(D-Bus支持)
  • :set show_hidden=true 浏览界面显示隐藏文件
  • :set start_view=playlist 修改启动默认视图,可选项: [tree, sorted, playlist, queue, browser, filters, settings],默认为tree(视图1)

3. 视图切换

  1. Library view, 默认打开的界面,按照歌手或专辑名排列

  2. Sorted library view, 所有的歌曲的列表

  3. Playlist view, 类似于歌单,可以按需组织歌曲

    • y: 将当前选中歌曲添加到播放列表
    • P/p: 更改曲目顺序
    • D: 移除
  4. Play Queue view, 播放队列(播放优先级最高

    • e: 将当前选中歌曲添加到队列(下一首播放)

  5. Browser, 可以浏览文件,添加歌曲之类的

  6. Filters view, 显示用户定义的过滤设置

  7. Settings view, 显示所有的快捷键设置

4. 使响应Media/play按键

github issue

看作者的说明:

Cmus is recognized a media player by linux, so u just need to call it through a media controller program to get it to do things. so for example playerctl -p cmus play-pause will toggle play/pause for cmus.

实测:

sudo apt install playerctl
playerctl -l # 如果存在cmus,则继续执行
playerctl -p cmus play-pause

结论:apt仓库中的cmus,并没有编译MPRIS选项。

所以需要重新编译一个cmus程序。

4.1. 编译安装

sudo apt install libsystemd-dev
libroar-dev
libasound2-dev # for alsa
libsamplerate0-dev
libjack-dev
libopusfile-dev

最全的依赖安装

$ sudo apt-get install libncurses5-dev libncurses5w-dev libpulse-dev libmodplugs-dev libcddb2-dev libsystemd-dev libavformat-dev libflac-dev libao-dev libcdio-dev libcdio-cdda-dev libvorbis-dev libopusfile-dev libroar-dev libdiscid-dev libsamplerate0-dev libmpcdec-dev libmad0-dev libmp4v2-dev libasound2-dev libjack-dev libcue-dev

编译安装

./configure  CONFIG_MPRIS=y  prefix=$HOME/bin/cmus/
make
make install

此时运行 $HOME/bin/cmus/bin/cmus ,发现已经支持多媒体键的 播放/暂停 功能啦。

笔者在多次编译后,偶然遇到这样一个错误:

could not initialize required output plugin

原因未知。在cmus界面中执行 :set output_plugin=pulse 即恢复正常了。

Linux终端音乐播放器cmus攻略: 操作歌单的更多相关文章

  1. 命令行音乐播放器 CMus

    自从接触到 CMus (C* Music Player) 这个工作在终端里的音乐播放器后,在 Linux 环境里就很少使用 GUI 音乐播放器播放本地音乐文件了.它消耗资源少使用方便,对中文的支持也不 ...

  2. Linux常用音乐播放器

    1.Rhythmbox是一个音乐播放和管理应用,GNOME桌面环境自带,它可以播放各种音频格式的音乐管理收藏的音乐.同时还具有音乐回放.音乐导入.刻录音频CD.显示专辑封面.显示歌词.DAAP共享等功 ...

  3. 用Vue来实现音乐播放器(九):歌单数据接口分析

    z这里如果我们和之前获取轮播图的数据一样来获取表单的数据  发现根本获取不到 原因是qq音乐在请求头里面加了authority和refer等 但是如果我们通过jsonp实现跨域来请求数据的话  是根本 ...

  4. ubuntu下一款有点感觉的 linux音乐播放器 clementine(小橘子))

    https://www.clementine-player.org/ 在linux听音乐的感觉确实不是很好,音乐播放器很多.但是仅仅只是数量上的优势,在确实不是很好用.自带的rhythmbox确实很占 ...

  5. 用PHP+H5+Boostrap做简单的音乐播放器(进阶版)

    前言:之前做了一个音乐播放器(纯前端),意外的受欢迎,然后有人建议我把后台一起做了,正好也想学习后台,所以学了两天php(不要吐槽我的速度,慢工出细活嘛~)然后在之前的基础上也又完善了一些功能,所以这 ...

  6. 单片AT89C2051 + SD卡 + 3310LCD = 音乐播放器

    http://www.amobbs.com/thread-4503884-1-1.html 这个小玩意,采用 ATMEL 的传统51MCU作主控制芯片,加上SD卡和显示屏,就可以作简单的音乐播放器了, ...

  7. 解决ubuntu系统中firefox无法播放网页版音乐播放器音乐

    Reference: https://blog.csdn.net/h736131708/article/details/80775382 因为网页版的qq音乐或者网易云音乐都把音频换成了AAC格式,这 ...

  8. ubuntu下好用的音乐播放器audacious

    audacious是ubuntu下一款非常好用的音乐播放器,万能的音乐播放器而且简洁美观,可以播放ape各种无损发烧音乐格式. 如果想听音乐的话,现在百度音乐,酷我音乐,酷狗音乐等都是有网络播放器的, ...

  9. mini2440裸机音乐播放器(非常久曾经的笔记)

    [这是好久曾经写的.有点乱,没时间整理.当做记录用的.] 图片粘贴失效.没上传图,想要的直接下载文档吧. 项目目的:通过IIS,触摸屏,LCD模块实现音乐播放器功能(button上一首.下一首.播放. ...

随机推荐

  1. Flutter 中由 BuildContext 引发的血案

    今天和各位分享一个博主在实际开发中遇到的问题,以及解决方法.废话不多说,我们先来看需求: 我们要做一个iOS风格的底部菜单弹出组件,具体涉及showCupertinoModalPopup()方法,该方 ...

  2. Ubuntu安装Vmware Tools解决屏幕比例失调

    前言 安装ubuntu虚拟机时默认比例如下图,且ubuntu系统选项中没有合适的比例,可以安装Vmware Tools来解决. 注意:该方法只适用于有操作界面的系统,之前有位小伙伴在服务器上也想安装T ...

  3. 链式前向星存树图和遍历它的两种方法【dfs、bfs】

    目录 一.链式前向星存图 二.两种遍历方法 一.链式前向星存图:(n个点,n-1条边) 链式前向星把上面的树图存下来,输入: 9 ///代表要存进去n个点 1 2 ///下面是n-1条边,每条边连接两 ...

  4. C#数据结构与算法系列(五):常见单链表笔试

    1.求单链表中有效节点个数 public static int GetLength(HeroNode headNode) { int length = ; var cur = headNode.Nex ...

  5. C# 9.0 新特性之目标类型推导 new 表达式

    阅读本文大概需要 2 分钟. 呼~~,每次过完一个周末,写作就失去了动力,一两天才能缓过来.尽管如此,还是要坚持写好每一篇文章的.宁缺毋滥嘛,宁愿发文的频率低一点,也要保证文章的质量,至少排版不能差, ...

  6. android中获取其他应用的SharedPreferences

    在android中获取其他应用的SharedPreferences,需要其他应用设置的Mode为MODE_WORLD_READABLE或者MODE_WORLD_WRITABLE两种模式.要获取其他应用 ...

  7. Vue中hash模式和history模式的区别

    vue-router 中hash模式和history模式. 在vue的路由配置中有mode选项,最直观的区别就是在hash模式下的地址栏里的URL夹杂着‘#’号 ,而history模式下没有.vue默 ...

  8. rust 编码模式

    ➜ hello_cargo git:(master) ✗ rustc --print code-models Available code models: small kernel medium la ...

  9. 学习ASP.NET Core(11)-解决跨域问题与程序部署

    上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...

  10. Java 根据地图定位坐标推荐附近的目标地址(直线距离)

    这两天需要在公众号上面做一个关于根据地图当前定位与目标地址直线距离远近推荐的查询,一开始摸不着头脑,现已解决,mark一下 现有的材料:当前用户手机端的通过微信定位的经纬度坐标.数据表中保存有场地的定 ...