red5: как я могу отправить поток с микрофона?

Я использую red5 и flex. На самом деле моя цель - отправить микрофонный поток с сервера на клиент и воспроизвести его на стороне клиента. Точно так же отправьте микрофонный поток от клиента к серверу и воспроизведите его на стороне сервера. Нет необходимости хранить прямую трансляцию.

Это возможно? как это сделать в red5 и flex?


person Kamran Omar    schedule 22.12.2011    source источник


Ответы (1)


private var nc:NetConnection;
private var mic:Microphone;

private function init():void
{
    nc=new NetConnection ;
    nc.connect (your rtmppath,"anchor");
    mic=Microphone.getMicrophone();
    mic.rate=11;
    nc.addEventListener (NetStatusEvent.NET_STATUS,checkConnect);
}

private function checkConnect (e:NetStatusEvent)
{
    good=e.info.code == "NetConnection.Connect.Success";
    if (good)
    {
        this.attachAudio (mic);
        this.publish (stream,"live");
    }
}

На стороне клиента, чтобы воспроизводить живой звук, также подключите свой сетевой поток с текущим сетевым подключением:

private var nc:NetConnection;
private var mic:Microphone;
private var netstream:NetStream = new NetStream
private function init():void
{
    nc=new NetConnection ;
    nc.connect (your rtmppath,"viewer");
    nc.addEventListener (NetStatusEvent.NET_STATUS,checkConnect);
}

private function checkConnect (e:NetStatusEvent)
{
    good=e.info.code == "NetConnection.Connect.Success";
    if (good)
    {
        var vid:Video = new Video
        this.attachNetStream(ns)
        netStream.play(presentation);
    }
}
person rejo    schedule 22.12.2011
comment
Спасибо за ответ. Я пробовал, но код на стороне сервера неясен. На стороне сервера я не могу получить байты микрофона. как я могу программно воспроизвести поток клиентов на сервере или поток микрофона сервера на клиенте? - person Kamran Omar; 22.12.2011