RasberryPi A2DP接收器 - 暂停问题(PulseAudio,Bluez)

时间:2016-02-05 19:07:05

标签: raspbian pulseaudio a2dp squeezebox

我尝试创建蓝牙A2DP接收器(接收器),然后将音频输出到vorbis无线电流(仅限LAN)。基本上我想把它作为一个蓝牙附加到一个squeezebox(squeezelite)多房间音乐系统。 A2DP-sink-radio-transmitter是一个独立的Raspberry Pi,可以轻松添加到任何系统中。我对Linux比较陌生。

我已经实现了工作设置,但是当我在蓝牙源(手机)上暂停音频时,一切都会失败。

设置: 蓝牙手机 - >收到Bluez / PulseAudio [PA] - > PulseAudio Bluez来源于PA'模块 - 环回'到ALSA音频卡接收器 - >使用pulseaudio作为源(设备=脉冲)来编码vorbis流的Darkice - > icecast2播出

这很有效,但当我暂停手机时,流(由VLC / Squeezebox接收)STOPS(时间戳停止滴答)。恢复音频会产生很大的延迟(我认为它与暂停持续时间的长度相同)。长时间暂停后,流可能无法重新启动。 Darkice清楚地看到音频输入已停止。

我想我需要告诉PulseAudio用某种沉默来填补暂停。我尝试通过ALSA假人(snd-dummy)进行路由,这只是给出了恒定的噪声。我无法忍受工作。

Darkice可以采用以下来源:OSS,ALSA和JACK。

请帮忙,我太紧了!

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我已经删除了Darkice,并且我使用liquidsoap创建了vorbis流。这有mksafe()选项,如果输入的音频源不可用,它将发送静音。正如我想要的那样!

答案 1 :(得分:0)

我遇到了完全相同的问题,只是我使用Raspberry Pi将手机的蓝牙流传输到Sonos,并且每当Darkice蓝牙音频流中断时,Sonos就会与Icecast服务器断开连接。我尝试了liquidsoap,但无法识别它的bluealsa流,因此我开始在Icecast2.xml配置文件中尝试使用后备流,并发现是否对一秒钟的无声mp3文件进行编码,并将其命名为与Darkice流相同的名称。 将其指定为 main 挂载点,流永远不会中断。 https://www.instructables.com/id/Play-Bluetooth-on-Sonos-Using-Raspberry-Pi/