首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用脉冲音频与Raspbmc (Kodi)的网络流?

如何使用脉冲音频与Raspbmc (Kodi)的网络流?
EN

Unix & Linux用户
提问于 2014-12-31 12:35:39
回答 1查看 3.8K关注 0票数 4

我在我的Raspberry Pi上使用Raspbmc (和Kodi 14)。现在,我想设置pulseaudio,以便能够轻松地将所有Linux计算机上的音乐流到Raspberry pi。我的问题是,我无法在Raspberry Pi上运行脉冲音频。我尝试了以下步骤:

1.安装脉冲音频

代码语言:javascript
复制
sudo apt-get install pulseaudio pulseaudio-module-zeroconf

2.设置脉冲音频

代码语言:javascript
复制
sudo nano /etc/pulse/default.pa

我增加了以下几行:

代码语言:javascript
复制
load-module module-native-protocol-unix auth-anonymous=1
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24 auth-anonymous=1
load-module module-zeroconf-publish

3.启动脉冲音频

首先,我尝试以守护进程的形式启动脉冲:

代码语言:javascript
复制
pulseaudio -D

我还试着在整个系统内启动:

代码语言:javascript
复制
sudo pulseaudio --system 

但是,在我的其他机器上,脉搏根本没有显示出来(当它们找到彼此时,它的配置是正确的)。这里怎么了?

EN

回答 1

Unix & Linux用户

发布于 2015-01-01 07:48:09

你必须编辑system.pa,而不是default.pa。当您登录到RPI并运行ps fax时,您会注意到这一行:

代码语言:javascript
复制
/usr/bin/pulseaudio --system --realtime --log-target=syslog --log-level=1 --disallow-exit --disable-shm --exit-idle-time=-1

--system是使脉冲音频读取system.pa而不是default.pa的原因。还请注意,kodi已经为您启动了一个脉冲音频实例,您不能简单地启动另一个实例。第一个实例将绑定到0.0.0.0:4713,因此第二个实例将无法绑定!我的kodi不允许我重新启动脉冲音频,所以在更改配置文件后需要重新启动。

要使远程接收器实际显示在客户端上,您必须(在客户机上):

  • 加载模块module-zeroconf-discover (pactl load-module module-zeroconf-discover)和
  • 使用paprefs启用远程接收器。您必须选中第一个选项卡paprefs显示的第一个复选框。(仅仅加载模块对我来说是不够的。)
  • 在客户端上重新启动avahi-守护进程。

您可以在客户端上使用avahi-browse -a来查看它是否真正看到了您的pa服务。重要的一行将如下所示:

代码语言:javascript
复制
+  wlan0 IPv4 root@raspbmc                   PulseAudio Sound Server local

我刚在2小时前就这么做了,这对我来说不太管用。是的,远程接收器显示在pavucontrol中,我可以将它设置为默认接收器并控制它的音量,但是spotify无法工作(不播放音乐)。是我唯一的考验。当我打开一个终端并运行export PULSE_SERVER=rpi02.local:4713; spotify时,它可以工作。设置PULSE_SERVER的方法是开箱即用的,没有任何这些零散的恶作剧。(不过,这可能是Ubuntu特有的问题。)

如果您打算参与wifi,还有另一个RPI特定问题:

在网络上远程使用Pi的脉冲音频时,有一个常见的错误音频播放问题。显然,使用wifi经常引发这个问题,但它仍然是一个特定于Pi硬件的可用解决方案的问题。

  1. 你的RPi:sudo sed -i 's/^\(load-module module-udev-detect\)/\1 tsched=0/' /etc/pulse/system.pa
  2. 重新启动Pi上的脉冲音频
  3. 将远程客户端连接到Pi上的pa服务器。

这是一个已知的问题,并在kodi.wiki上说明了这个解决方案。阅读tsched,例如在ubunutu SE上,我们了解到这是一个时间问题,并产生于健全的硬件。通过放置tsched=0 Linux使用了不同的计时模型,我认为这是更强的CPU。使用此解决方案,当播放一个远程流时,脉冲音频服务在我的B+上声称拥有17%的CPU。

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

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

复制
相关文章

相似问题

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