ArchLinux 音乐播放客户端ncmpcpp和服务端mpd的配置
Ncmcpp是一个mpd客户端,它提供了很多方便的操作
MPD是一个服务器-客户端架构的音频播放器。功能包括音频播放, 播放列表管理和音乐库维护,所有功能占用的资源都很少。
--取自 wiki.archlinux.org
很好用的一个命令行下的音乐播放器,然而在配置的过程中出现了一些小问题
安装
yourt -S mpd ncmpcpp
配置服务端 MPD
安装mpd后,给每个用户做配置
复制/usr/share/doc/mpd/mpd.conf.example到~/.config/mpd/mpd.conf
然后对其配置,每个配置的作用详见https://wiki.archlinux.org/index.php/Music_Player_Daemon
mkdir ~/.config/mpd
cp /usr/share/doc/mpd/mpd.conf.example~/.config/mpd/mpd.conf
nvim ~/.config/mpd/mpd.conf
# mpd.conf
music_directory "/your/Music/path"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/database"
log_file "~/.mpd/log"
pid_file "~/.mpd/pid"
state_file "~/.mpd/state"
sticker_file "~/.mpd/sticker.sql"
bind_to_address "localhost"
port "6600"
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
audio_output {
type "alsa"
name "ALSA"
device "hw:0,0" # optional
mixer_type "hardware" # optional
mixer_device "default" # optional
mixer_control "Master" # optional
mixer_index "0" # optional
}
...
配置服务端Ncmpcpp
首先运行一下ncmpcpp,生成一下配置文件;或者直接复制样例配置
这里以mpd开头的项与mpd的配置相同
cp /usr/share/doc/ncmpcpp/config ~/.ncmpcpp/config
nvim ~/.ncmpcpp/config
# ~/.ncmpcpp/config
mpd_host = "localhost"
mpd_port = "6600"
mpd_music_dir = "/your/Music/path"
visualizer_fifo_path = /tmp/mpd.fifo
visualizer_output_name = Visualizer feed
visualizer_in_stereo = yes
visualizer_sync_interval = 30
visualizer_type = wave
visualizer_look = ●▮
visualizer_color = blue, cyan, green, yellow, magenta, red
...
Ncmpcpp使用方法
详见Basic Usage https://wiki.archlinux.org/index.php/Ncmpcpp
按键绑定详见 /usr/share/doc/ncmpcpp/bindings
附加一下 用Delete删除playlist的歌曲
配置出现的问题
- Ncmpcpp不能调节音量,左下角显示"MPD: no mixer"
查看~/.mpd/log发现是control的问题
exception: Failed to open mixer for 'My ALSA Device': no such mixer control: PCM
检查mpd.conf的audio_output设置
若使用alsa,用amixer查询control
$ amixer
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 8419 [13%] [on]
Front Right: Playback 8419 [13%] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch cswitch-joined
Capture channels: Front Left - Front Right
Limits: Capture 0 - 65536
Front Left: Capture 10093 [15%] [on]
Front Right: Capture 10093 [15%] [on]
# 对应的mpd.conf audio_output配置
audio_output {
type "alsa"
name "ALSA"
device "hw:0,0" # optional
mixer_type "hardware" # optional
mixer_device "default" # optional
mixer_control "Master" # optional 注意此处
mixer_index "0" # optional
}
- Ncmpcpp配置无误,但就是没有音乐
进入ncmpcpp,按下2或4,选择文件(文件夹),按下a,添加到playlist即可
截图
最后还是截个图吧
ArchLinux 音乐播放客户端ncmpcpp和服务端mpd的配置的更多相关文章
- Android客户端与PHP服务端交互(一)---框架概述
背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事 ...
- C#使用Thrift简介,C#客户端和Java服务端相互交互
C#使用Thrift简介,C#客户端和Java服务端相互交互 本文主要介绍两部分内容: C#中使用Thrift简介 用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互. 用纯C#实 ...
- 利用python多线程实现多个客户端与单个服务端的远程ssh
本次实验设计两个方面的代码,第一个是客户端,代码如下: import os from socket import * c = socket(AF_INET,SOCK_STREAM) c.connect ...
- 6-1 建立客户端与zk服务端的连接
6-1 建立客户端与zk服务端的连接 zookeeper原生java api使用 会话连接与恢复; 节点的增删改查; watch与acl的相关操作; 导入jar包;
- android客户端app和服务端交互token的作用
Android客户端和服务端如何使用Token和Session niceheart关注1人评论34644人阅读2014-09-16 16:38:44 对于初学者来说,对Token和Session的 ...
- Linux下更改oracle客户端字符集和服务端字符集
from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客户端字符集和服务端字符集 1.Linux 下更改 or ...
- XFire客户端调用CXF服务端(四)
前面章节:http://www.cnblogs.com/xiehongwei/p/8082337.html 已经开发出了CXF服务端,现在用XFire开发客户端调用CXF服务端,代码如下: impor ...
- java版gRPC实战之六:客户端动态获取服务端地址
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 关于kafka客户端版本与服务端版本不一致导致的一次坑
上周开发了一个功能,需要使用kafka接上游数据并入库,本地开发时,自己安装了一个kafka服务,开发测试时使用本地的kafka服务给主题发消息,然后在自己本地的代码中进行调试.使用的kafka版本如 ...
随机推荐
- 搞笑OI
OI难 噫吁嚱,维护难哉!OI之难,难于上青天!哈希及DP,代码何茫然!尔来一千两百A,不见金牌背后难.西当华师有考场,可以横绝CN巅.编译不过壮士死,然后超时爆内存相钩连.上有自主招生之高标,下有由 ...
- Java序列化注意事项
当父类继承Serializeble接口时,所有子类可以被序列化 子类实现了Serializeble接口,父类没有,父类中的属性不能序列化(不报错,数据会丢失),但是在子类中属性仍能正确序列化 如果序列 ...
- POJ 2739 Sum of Consecutive Prime Numbers【素数打表】
解题思路:给定一个数,判定它由几个连续的素数构成,输出这样的种数 用的筛法素数打表 Sum of Consecutive Prime Numbers Time Limit: 1000MS Memo ...
- swift语言点评六-Numbers and Basic Values
Topics Logical Values struct Bool A value type whose instances are either true or false. Numeric Val ...
- 如何使easyui的datagrid 高度自适应
如何使easyui的datagrid 高度自适应? 最开始使用easyui的datagrid加载数据时,对其设置的高度都是固定值,数据较多时table表现为滚动条形式.某天,老大突然需要datagri ...
- select选中值,传this
<select onChange = "a(this)"></select> function a(obj){ $(obj).find("opti ...
- Mateclass
Mateclass 一切皆对象: Eg: class Foo: pass f=Foo() In [60]: print(type(f)) <class '__main__.Foo'> In ...
- Vue2.0父子组件间事件派发机制
从vue1.x过来的都知道,在vue2.0中,父子组件间事件通信的$dispatch和$broadcase被移除了.官方考虑是基于组件树结构的事件流方式实在是让人难以理解,并且在组件结构扩展的过程中会 ...
- 紫书 习题8-10 UVa 1614 (贪心+结论)
这道题我苦思冥想了一个小时, 想用背包来揍sum/2, 然后发现数据太大, 空间存不下. 然后我最后还是去看了别人的博客, 发现竟然有个神奇的结论-- 幸好我没再钻研, 感觉这个结论我肯定是想不到的- ...
- redis为什么选择单线程工作模型
1.先说一下为什么出现进程,线程 进程:在计算机发明之初就发现,在输入数据时(I/O速度慢),CPU是空闲的,这样就浪费了CPU资源,为了充分利用CPU资源,发明了进程,在输入程序A的数据时,程序B在 ...