linux - Linux 上的 mpc/mpd : how to play local wav file

标签 linux bash embedded-linux audio-player

我正在尝试将本地文件添加到 mpd(通过 mpc)并播放它。我的平台是 OpenWRT 嵌入式 linux。

因此,在手册页中,它指出:

mpc add <file>   Add a song to the current playlist

如果我这样做:

root@OpenWrt:~/.mpd# mpc add /usr/share/baresip/ring.wav 
error adding /usr/share/baresip/ring.wav: directory or file not found

或者如果我这样做:

root@OpenWrt:~/.mpd# mpc add file:///usr/share/baresip/ring.wav 
error adding file:///usr/share/baresip/ring.wav: Access denied

这里正确的语法到底是什么?手册页对于 mpc/mpd 确实不是很清楚。

最佳答案

您的第二次尝试几乎是正确的。您遇到的问题是 mpd 只允许通过本地连接将 file: URL 传递给它,它通过要求您在其 上进行连接来强制执行unix 域套接字。所以,在您的 mpd.conf 中,您需要有这样一行:

bind_to_address     "/run/mpd/socket"

(根据您的系统,您可能希望将 /run 更改为 /var/run -- 我引用的版本对于最新版本的 debian 或 ubuntu 是正确的,但是其他人可能不同)。

然后,您需要设置您的环境以指向该套接字:

export MPD_HOST=/run/mpd/socket

当你这样做时,mpc addmpc insert 可以成功地接受一个 file: URL:

$ mpc insert "file:///data/incoming/files/111_scorpions_-_the_zoo.mp3"
$ mpc next
Scorpions - The Zoo
[playing] #23/39   0:00/5:30 (0%)
volume: n/a   repeat: off   random: off   single: off   consume: off
$

关于linux - Linux 上的 mpc/mpd : how to play local wav file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659067/

相关文章:

linux - 如何使用 linux 命令从另一个文件创建一个只包含小写字母的新文件?

macos - 将 bash 提示符下的当前命令复制到剪贴板

java - 如何减小 jfree 库的大小

c - 为什么我的小C循环不能正确打印到帧缓冲区,但是展开的版本可以打印?

linux - 将 bash 变量作为模式传递给 awk

bash - 如何在 macOS 终端中退出 vim 后显示以前的 shell 命令?

linux - 重新打开以前在 bash 中使用 CTRL+X、CTRL+E 编写的命令的简单方法?

embedded-linux - 有条件地在配方脚本中包含补丁文件

c++ - 如何从管道中读取 long ?

linux - Qt for Android on Mac 或 Linux build "Can not detect ndk toolchain..."