利用fms服务器和flex来做在线视频聊天_Flash教程-查字典教程网
利用fms服务器和flex来做在线视频聊天
利用fms服务器和flex来做在线视频聊天
发布时间:2016-12-21 来源:查字典编辑
摘要:1.FMS服务器的搭建,一定要选live的,不要选vod的2.flex的代码如下!复制代码代码如下:importflash.events.*...

1.FMS服务器的搭建,一定要选live的,不要选vod的

2.flex的代码如下!

复制代码代码如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12" height="388">

<mx:Panel x="10" y="10" width="340" height="282" layout="absolute" title="视频发布端">

<mx:VideoDisplay x="0" y="0" width="320" height="240" id="PublishVideo"/>

</mx:Panel>

<mx:Panel x="366" y="10" width="340" height="282" layout="absolute" title="视频接收端" id="playPan">

<mx:VideoDisplay x="0" y="0" width="320" height="240" id="RecordVideo" />

</mx:Panel>

<mx:Button x="106" y="316" label="发布视频" fontWeight="normal" click="onPublishClick()"/>

<mx:Button x="488" y="317" label="接收视频" fontWeight="normal" click="onRecordClik()"/>

<mx:Script>

<![CDATA[

import flash.events.*;

private var pnc:NetConnection;

private var rnc:NetConnection;

private var pns:NetStream; //发布流

private var rns:NetStream;

private var cam:Camera;

private var mic:Microphone;

private var video:Video;

private function onPublishClick():void

{

pnc = new NetConnection();

pnc.connect("rtmp://ip/live");

pnc.addEventListener(NetStatusEvent.NET_STATUS,onPublishNetStatusHandler);

cam = Camera.getCamera();

mic = Microphone.getMicrophone();

this.PublishVideo.attachCamera(cam);

}

private function onPublishNetStatusHandler(evt:NetStatusEvent):void

{

this.lbPublish.text=evt.info.code;

if(evt.info.code=="NetConnection.Connect.Success")

{

pns = new NetStream(pnc);

pns.attachAudio(mic);

pns.attachCamera(cam);

pns.client=this;

pns.publish("publishName","live");

}

}

private function onRecordClik():void

{

rnc = new NetConnection();

rnc.connect("rtmp://ip/live");

rnc.addEventListener(NetStatusEvent.NET_STATUS,onReordNetStatusHandler);

}

private function onReordNetStatusHandler(evt:NetStatusEvent):void

{

this.lbRecord.text=evt.info.code;

if(evt.info.code=="NetConnection.Connect.Success")

{

rns = new NetStream(rnc);

rns.client=this;

video = new Video();

video.width=320;

video.height=240;

video.attachNetStream(rns);

this.RecordVideo.addChild(video);

rns.play("publishName","live"); //这里的publishName必须与发布流的流名一致

}

}

]]>

</mx:Script>

<mx:Label x="35" y="348" width="304" id="lbPublish"/>

<mx:Label x="391" y="348" width="296" id="lbRecord"/>

</mx:Application>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Flash教程学习
    热门Flash教程学习
    网页设计子分类