我正在尝试将本地文件添加到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,手册页真的不太清楚。
答案 0 :(得分:6)
你的第二次尝试几乎正确。您遇到的问题是mpd
只允许file:
个网址通过本地连接传递给它,它通过要求您连接其 unix-domain套接字。因此,在您的mpd.conf
中,您需要有这样的一行:
bind_to_address "/run/mpd/socket"
(根据您的系统,您可能希望将/run
更改为/var/run
- 我引用的版本对于最新版本的debian或ubuntu是正确的,但其他版本可能不同。)
然后,您需要将环境设置为指向该套接字:
export MPD_HOST=/run/mpd/socket
执行此操作时,mpc add
或mpc insert
可以成功接受file:
网址:
$ 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
$
答案 1 :(得分:4)
我没有找到如何玩wav ..但我忘记了我找到了解决方案(对于mp3)并在此处发布:https://forum.openwrt.org/viewtopic.php?id=41022
然而,由于stackoverflow总是显示在谷歌搜索的顶部,我在这里粘贴相同的解决方案,以防它也帮助了某人:
/etc/mpd.conf应该是这样的:
music_directory "/tmp"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/database"
log_file "/tmp/mpdlog"
pid_file "~/.mpd/pid"
state_file "~/.mpd/state"
sticker_file "~/.mpd/sticker.sql"
user "root"
group "root"
bind_to_address "127.0.0.1"
log_level "verbose"
auto_update "yes"
auto_update_depth "3"
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
然后: