首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复mpc超时错误

如何修复mpc超时错误
EN

Unix & Linux用户
提问于 2013-04-05 13:50:13
回答 1查看 8.8K关注 0票数 4

我在Raspbian (debian)上使用mpc/mpd。运行MPD它启动:

代码语言:javascript
复制
sudo mpd --no-daemon --stdout --verbose  /etc/mpd.conf
config: loading file /etc/mpd.conf
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
disabling the last.fm playlist plugin because account is not configured
daemon: opening pid file
daemon: writing pid file
avahi: Initializing interface
avahi: Client changed to state 101
avahi: Client is CONNECTING
state_file: Loading state file /var/lib/mpd/state
decoder_thread: clearing mixramp tags
decoder_control: mixramp_start = NULL
decoder_control: mixramp_prev_end = NULL
playlist: queue song 1:"http://mp3channels.webradio.rockantenne.de/classic-perlen"
input_curl: icy-metaint=16000
decoder: audio_format=44100:24:2, seekable=false
output: opened plugin=pulse name="Pulse" audio_format=44100:16:2
output: converting from 44100:24:2

但是播放列表中的流失败了:

代码语言:javascript
复制
mpc play 1
error: Timeout

日志文件说:

代码语言:javascript
复制
client: [3] opened from 127.0.0.1:55768
client: [3] process command "status"
client: [3] command returned 0
client: [3] process command "play "0""
playlist: play 0:"http://mp3.webradio.rockantenne.de:80"

可以从设备访问URL本身。

有什么线索可以诊断/修复超时错误吗?

更新:

它也存在于其他各种场合:

代码语言:javascript
复制
pi@raspberrypi ~ $ sudo mpd --no-daemon --stdout --verbose  /etc/mpd.conf
config: loading file /etc/mpd.conf
path: path_set_fs_charset: fs charset is: UTF-8
database: reading DB
disabling the last.fm playlist plugin because account is not configured
daemon: opening pid file
daemon: writing pid file
avahi: Initializing interface
avahi: Client changed to state 101
avahi: Client is CONNECTING
state_file: Loading state file /var/lib/mpd/state
decoder_thread: clearing mixramp tags
decoder_control: mixramp_start = NULL
decoder_control: mixramp_prev_end = NULL
playlist: queue song 1:"http://mp3channels.webradio.rockantenne.de/classic-perlen"
input_curl: icy-metaint=16000
decoder: audio_format=44100:24:2, seekable=false
icy_metadata: unknown icy-tag: 'StreamUrl'
client: [0] opened from 127.0.0.1:55789
client: [0] process command list
client: command_process_list: process command "status"


ROCK ANTENNE: Heroes Del Silencio - Entre dos tierras
[paused]  #1/5   4:43/0:00 (0%)
volume: 30%   repeat: off   random: off   single: off   consume: off
ERROR: problems opening audio device
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2013-04-06 00:58:30

从你的日志里

  • 以超级用户的身份启动mpd
  • 你用脉冲音频
  • mpd似乎不允许连接到脉冲音频

基本上,作为超级用户启动mpd可能是个坏主意。如果您以用户身份登录,并将其用作简单的音乐播放器,则应以普通用户的身份启动mpd。在这种情况下,如果脉冲音频没有运行,它将作为正常的用户进程启动。您可以使用ps aux | grep pulse进行检查。请注意,为了能够启动脉冲音频服务器,您的用户应该属于pulse-access组。

如果您使用您的raspberry pi作为音频服务器,可以从网络访问,那么您可能需要让mpd独立于任何用户登录运行,并在启动时自动启动。若要控制启动时启动的守护进程,请使用sysv-rc-conf。在这种情况下,mpd应该作为守护进程启动,进程所属的用户应该在/etc/mpd.conf中进行配置。还请确保在此文件中取消对配置行的注释,以使服务器可以从您的网络到达。然后,您必须确保允许mpd用户启动和访问脉冲音频,因此也属于pulse-access组。不过,我不确定mpd是否允许在没有X会话的情况下启动服务器,本教程指出,在这种情况下,您可能需要考虑以下解决方案。

在最后一个设置中,您可能遇到的一个问题是,如果您以用户身份登录,并且mpd以自己的用户身份运行,则两个脉冲音频服务器可能很难共存,而第一个服务器可能会获取对音频设备的访问,从而阻止另一个服务器播放声音。最后,我作为一个全系统的守护进程运行了这个程序,因为我没有找到其他直接的解决方案,而且我很高兴有一个解决方案,因为各地的脉冲音频文档都表明这是个坏主意,我相信他们有充分的理由这么做。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/71326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档