2012-04-16 4 views
1

Я хотел бы создать потоковое аудио от Nao к моей форме WPF.Как передавать аудио с робота Nao?

Единственный способ, которым я нашел, это то, что мы можем скачать записанный звук на Nao через SSH.

Но это не настоящий потоковый ...

Если у кого есть идея!

Благодаря

ответ

1

Вы должны смотреть на GStreamer, который встроен в роботе. Было бы немного медленно, но это будет реальная потоковая ...

+0

Удалось ли вам с этим справиться или с каким-либо руководством, как это сделать? Я пробовал 'gst-launch-0.10 alsasrc', но получил только' Device 'default' is busy'. Pulseaudio не установлен на nao. – gluk47

2

запустить эту команду на САК (входа через SSH) gst-launch-0.10 pulsesrc ! audioconvert ! vorbisenc ! oggmux ! tcpserversink port=1234

список с помощью VLC: vlc tcp://IP:1234/

+0

Что нужно сделать для этого? По крайней мере, вы можете указать на какое-то руководство? Потому что я получаю только этот ответ: «ERROR: конвейер не может быть сконструирован: нет элемента« pulsesrc »' – gluk47

+0

вам нужна последняя система, в которую встроены pulsesrc, 1.14 или худшие 2.x –

+1

Я запускал это на версии NAO 2.x –

0

Для окон: Загрузите последнюю версию PulseAudio (не официальной) и создавать в config.pa файл с этими двумя линиями:

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

Run PulseAudio на вашем окна машины первой с PulseAudio -F config.pa

На вашем САК:

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

(изменить этот адрес для ваших окон одного. Также убедитесь, что PulseAudio работает на окнах В противном случае это не будет работать)

qicli call ALAudioDevice._listOutputs 

Предыдущая команда покажет вам номер индекса PulseAudio устройства, которое вы только что создали. Используйте этот номер в следующих командах:

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

Thats it. Теперь все идет через ваши громкоговорители. Индекс 0 является звуковой картой НАО

Для Linux: Выполнить это на терминале:

pactl load-module module-rtp-recv 

В НАО:

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 более стабильным. TCP один из окон может сломаться через некоторое время.