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版本如 ...
随机推荐
- Redis-4-链表结构
Redis-4-链表结构 标签(空格分隔):redis lpush key value 作用: 把值插入到链接头部 rpop key 作用: 返回并删除链表尾元素 lrange key start s ...
- Java8内置的四大核心函数式接口
package java_8; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import j ...
- oracle 11g sql优化之行迁移处理(加大BLOCK块)
行链接 产生原因:当一行数据大于一个数据块,ORACLE会同时分配两个数据块,并在第一个块上登记第二个块的地址,从而形成行链接. 预防方法:针对表空间扩大数据块大小.检查:analyze table ...
- Oracle数据库to_date函数注意事项
使用PL/SQL连接到Oracle数据库服务器,执行一条update语句: update pjnl set transtime = to_date('2015-05-14 12:13:20','yyy ...
- img标签IE下有边距——2017/7/21
设置css 在全局变量的是和给img标签设置 img{ border:0;} 1,img{float:left}2,img{display:block}
- The Structure of an App-ios应用架构-MVC
During startup, the UIApplicationMain function sets up several key objects and starts the app runnin ...
- swift内存管理
为了解决引用循环的问题. However, with ARC, values are deallocated as soon as their last strong reference is rem ...
- while循环,格式化输出%,运算符,数据类型的转换,编码的初识,
1.内容总览 while循环 格式化输出 运算符 and or not 编码的初识 2. 具体内容 while 循环 where:程序中:你需要重复之前的动作,输入用户名密码时,考虑到while循环. ...
- 微信小程序手势滑动卡片案例
最近工作中有项目要使用微信小程序技术进行开发,其中一项功能困扰了我很久,卡片滑动动效以及手势识别.经过一番研究和参考,现在把成果展示.记录自己踩到的坑,如果大家有需要,也可以帮助到大家. 效果图: 首 ...
- tree 核心命令参数
常用参数: -a 显示所有文件 包括隐藏文件 -d 只显示目录 -f 显示每个文件的全路径 -i 不显示树枝 常与-f一起搭配 -L 显示的层数 -F 区分哪个文件是目录 [root@ftp:/va ...