如何从Nao机器人流式传输音频?

时间:2012-04-16 08:33:22

标签: c# nao-robot

我想创建一个从Nao到我的WPF格式的流音频。

我找到的唯一方法是我们可以通过SSH在Nao上下载录制的声音。

但它不是真正的流媒体......

如果有人有想法!

由于

3 个答案:

答案 0 :(得分:2)

在您的NAO上运行此命令(通过ssh登录)gst-launch-0.10 pulsesrc ! audioconvert ! vorbisenc ! oggmux ! tcpserversink port=1234

通过VLC列出:vlc tcp://IP:1234/

答案 1 :(得分:1)

你应该看一下嵌入机器人的gstreamer。它会有点慢,但它将是真正的流媒体......

答案 2 :(得分:0)

对于Windows: 下载最新的pulseaudio(不是官方的),并用这两行创建一个config.pa文件:

load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
load-module module-waveout

首先使用pulseaudio -F config.pa

在Windows机器上运行pulseaudio

在您的NAO上:

pacmd load-module module-tunnel-sink sink_name=nao server=192.168.1.152 

(将此地址更改为您的Windows。还要确保在Windows上运行pulseaudio,否则无法正常工作)

qicli call ALAudioDevice._listOutputs 

上一个命令将显示刚刚创建的pulseaudio设备的索引号。在下一个命令中使用此编号

pacmd set-default-sink 1
qicli call ALAudioDevice._setDefaultOutput 1

多数民众赞成。现在一切都来自你的电脑扬声器。索引0是NAO的声卡

对于Linux: 在终端上运行:

pactl load-module module-rtp-recv

在NAO上:

pactl load-module module-null-sink sink_name=nao (creates the sink)
qicli call ALAudioDevice._listOutputs  (checks the index on sink)
qicli call ALAudioDevice._setDefaultOutput 1  
pactl load-module module-rtp-send source=nao.monitor

我发现Linux方法更稳定。 Windows上的TCP可能会在一段时间后中断。