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的配置的更多相关文章

  1. Android客户端与PHP服务端交互(一)---框架概述

    背景 作为一个普通上班族,总是想做一些自认为有意义的事情,于是乎准备成立一个工作室,尽管目前正在筹备阶段,但是之前有些朋友提出一些需求的时候,我发现自己的能力还是有限,直到最近和一些技术牛朋友聊起这事 ...

  2. C#使用Thrift简介,C#客户端和Java服务端相互交互

    C#使用Thrift简介,C#客户端和Java服务端相互交互 本文主要介绍两部分内容: C#中使用Thrift简介 用Java创建一个服务端,用C#创建一个客户端通过thrift与其交互. 用纯C#实 ...

  3. 利用python多线程实现多个客户端与单个服务端的远程ssh

    本次实验设计两个方面的代码,第一个是客户端,代码如下: import os from socket import * c = socket(AF_INET,SOCK_STREAM) c.connect ...

  4. 6-1 建立客户端与zk服务端的连接

    6-1 建立客户端与zk服务端的连接 zookeeper原生java api使用 会话连接与恢复; 节点的增删改查; watch与acl的相关操作; 导入jar包;

  5. android客户端app和服务端交互token的作用

    Android客户端和服务端如何使用Token和Session niceheart关注1人评论34644人阅读2014-09-16 16:38:44   对于初学者来说,对Token和Session的 ...

  6. Linux下更改oracle客户端字符集和服务端字符集

    from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客户端字符集和服务端字符集 1.Linux 下更改 or ...

  7. XFire客户端调用CXF服务端(四)

    前面章节:http://www.cnblogs.com/xiehongwei/p/8082337.html 已经开发出了CXF服务端,现在用XFire开发客户端调用CXF服务端,代码如下: impor ...

  8. java版gRPC实战之六:客户端动态获取服务端地址

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. 关于kafka客户端版本与服务端版本不一致导致的一次坑

    上周开发了一个功能,需要使用kafka接上游数据并入库,本地开发时,自己安装了一个kafka服务,开发测试时使用本地的kafka服务给主题发消息,然后在自己本地的代码中进行调试.使用的kafka版本如 ...

随机推荐

  1. Java多线程编程模式实战指南(二):Immutable Object模式--转载

    本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-o ...

  2. Gulp 相关

    获取执行在文件列表: http://www.thinksaas.cn/ask/question/21950/ 用through2这个插件. var through = require('through ...

  3. Android之通过HttpURLConnection.getResponseCode状态码抛出异常的问题以及解决方法

    1.最近,在学习解析json数据的时候遇到一个错误信息,错误信息如下图所示:   发现解析出来的数据为空,错误信息如上图所示,发现程序中的HttpUtils工具类的22行出现了错误和MainActiv ...

  4. 【学习】JMS通信模式

    1.关于JMS的点对点模式 JMS的点对点模式下,多个消费者可以注册到同一个队列上,但是生产者的某个消息只能被一个消费者接收,在多个消费者间,生产者的消息被多个消费者循环接收,如当前有6个消息在队列中 ...

  5. Good Bye 2014 B. New Year Permutation 【传递闭包 贪心】

    解题思路:给出一列数an,再给出一个矩阵d[i][j],在满足d[i][j]=1的情况下,称a[i]和a[j]可以交换,问经过交换最后得到字典序最小的数列a[n] 首先是贪心的思想,大的能换就换到后面 ...

  6. 使用python绘制词云

    最近在忙考试的事情,没什么时间敲代码,一个月也没几天看代码,最近看到可视化的词云,看到网上也很多这样的工具, 但是都不怎么完美,有些不支持中文,有的中文词频统计得莫名其妙.有的不支持自定义形状.所有的 ...

  7. ActiveMQ学习笔记(2)----JMS的基本概念和模型

    1. JMS 的基本概念 1. JMS是什么? JMS Java Message Service,Java消息服务,是Java EE中的一种技术. 2. JMS规范 JMS定义了Java中访问消息中间 ...

  8. 解决vuex刷新页面数据丢失

    1.前言 vue构建的项目中,vuex的状态存储是响应式的,当vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会得到高效刷新,问题来了,vuex存储的数据只是在页 ...

  9. [agc004c]and grid

    别问我为什么咕了两天 题意: 给出一个$H\times W$的网格图A,仅由'.'和'#'构成,边界上没有'#'且至少有一个'#'.构造两个网格图B和C,大小均为$H\times W$,要求A中为'# ...

  10. BZOJ 2287 【POJ Challenge】消失之物(DP+容斥)

    2287: [POJ Challenge]消失之物 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 986  Solved: 572[Submit][S ...