您在使用脉冲音频吗?
是的
Pulseaudio 不允许一个用户通过另一个用户的pulseaudio服务器播放声音。 如果启动时没有启动pulseaudio,第一个尝试播放声音的应用程序会自动启动它。 因此,如果您首先使用 mopidy,pulseaudio 将作为 mopidy 用户启动,而您无法以普通用户的身份播放声音。
此处记录了允许多个用户播放声音的解决方案:
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Local_.28with_separate_mpd_user.29
这是针对 mpd 的,所以你可以忽略关于 mpd.conf 的部分。 pulseaudio 的配置是需要的。 此外,您需要配置 mopidy 以使用正确的pulseaudio 服务器。 为此,请将其放入您的 mopidy 配置中:
[audio]
output = pulsesink server=127.0.0.1
我一有时间就试试。
不过我还有一个问题。 为什么如果我使用 systemd(作为我的用户)启动 mopidy 会出现问题,但当我自己从命令行启动时却不会出现问题? 访问pulseaudio的用户不是同一个吗?
而且我认为这绝对应该在某处记录下来......
用另一种方式解决了。
有运行它作为一个本地用户systemd服务文件在这里
使用这个文件我没有问题,你可以考虑在这里添加它。
很酷,关闭这个,如果有人我们应该在文档中添加一些额外的内容,请重新打开。
我自己也有这个问题,但反过来。 无论我如何配置声音,Mopidy似乎都无法播放。 为了更容易找到此解决方案,我将发布我在日志中发现的错误
这是来自正常输出:
ERROR GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. Debug message: gstplaysink.c(2758): gen_audio_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink
使用-vvv
进行轻便摩托车和 gstreamer 调试时,我发现了以下错误:
WARN alsa pcm_hw.c:1557:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC1D0p' failed (-2): No such file or directory
WARN alsa pcm_dmix.c:1022:snd_pcm_dmix_open: alsalib error: unable to open slave
WARN alsa gstalsasink.c:765:gst_alsasink_open:<alsasink0> error: Could not open audio device for playback.
WARN alsa gstalsasink.c:765:gst_alsasink_open:<alsasink0> error: Playback open error on device 'default': No such file or directory
ERROR 2015-02-22 18:26:47,673 [3135:MainThread] mopidy.audio.actor
GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. Debug message: gstplaysink.c(2758): gen_audio_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink
其中一些错误可能来自我以错误的方式配置事物,但希望它们能帮助某人。
非常感谢,trygveaa! 我在 Arch wiki 上找到了这个技巧,但我无法正确配置脉冲接收器。 (确实,似乎没有关于此的全面文档。)
@trygveaa我真的很感谢你。 我找不到如何使pulseaudio与mopidy一起工作的方法。 我听从了你的建议,现在终于奏效了!!
最有用的评论
Pulseaudio 不允许一个用户通过另一个用户的pulseaudio服务器播放声音。 如果启动时没有启动pulseaudio,第一个尝试播放声音的应用程序会自动启动它。 因此,如果您首先使用 mopidy,pulseaudio 将作为 mopidy 用户启动,而您无法以普通用户的身份播放声音。
此处记录了允许多个用户播放声音的解决方案:
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Local_.28with_separate_mpd_user.29
这是针对 mpd 的,所以你可以忽略关于 mpd.conf 的部分。 pulseaudio 的配置是需要的。 此外,您需要配置 mopidy 以使用正确的pulseaudio 服务器。 为此,请将其放入您的 mopidy 配置中: