flash+fms2视频聊天室

mac2022-06-30  68

看代码之前有几个类先说下:NetConnection和FMS建立连接的类,用到的方法是connect(),事件onStatus()。。。还有一个类是和它一起使用的NetStream,订阅视频流。。。。。不知道的看下帮助文件首先建立一个视频,方法是在点库面板的右上的按钮,选择“新建视频”,库里就会多个元件,拖2个到场景中分别命名为mybox,mybox2,在场景中放两个按钮,命名为submit_btn,norm_btn。在第一帧写如下代码//BY 烟头 stop(); client_nc = new NetConnection(); client_nc.onStatus = function(info) { // 利用trace功能将server返回的信息可视化 trace("Level: "+info.level+newline+"Code: "+info.code); }; client_nc.connect("rtmp://127.0.0.1/chat");//本机IP,chat在FMS下的Application下 rec_so = SharedObject.getRemote("myvideo", client_nc.uri, true); rec_so.connect(client_nc); this.cam = Camera.get();//获取摄像头设备 mybox.attachVideo(this.cam);//在mybox中显示 out_ns = new NetStream(client_nc);//建立流 out_ns.attachVideo(this.cam); //按下submit_btn开始发送视频流 submit_btn.onRelease=function() {     submit_btn.enabled = false;//设置按钮禁用     norm_btn.enabled=true;//设置按钮可用     setInterval(sendFlv,2000);     } //接收视频流 setInterval(acceptFlv,2000); mybox.attachVideo(this.cam); function sendFlv() { out_ns.publish("2222", "record"); _root.rec_so.data[ListItem.text] = "2222"; } function acceptFlv()  { //标签label的名称就是录像文件的名称 var playFileName = "2222"; //创建新的NetStream流对象,将会用来播放留言信息 in_ns = new NetStream(client_nc); //通过NetStream.play方法播放server上的flv文件 in_ns.play(playFileName); //Video对象mybox作为视频流的播放载体,使媒体流可视化 mybox2.attachVideo(in_ns); } //按norm_btn按钮择中断发送视频流 norm_btn.onRelease = function(){ this.cam = Camera.get(); out_ns.close(); in_ns.close(); in_ns=null; submit_btn.enabled = true; norm_btn.enabled = false; } 然后在FMS下的Application文件夹下建立chat文件夹,再将flash文件夹的Samples and Tutorials\Samples\Components\FLVPlayback中的main.asc文件拷到chat文件夹中然后启动FMS测试OK  不懂的问吧有个问题是视频流不连贯,现在是2秒一次,我试过0.5秒和5秒,都不连贯,有什么解决方法么。。。??源文件就不发了想要的再跟贴吧  很简单的Tags - flash , fms , 视频 , 聊天室

转载于:https://www.cnblogs.com/pelephone/articles/flash-video-netconnection-fms.html

最新回复(0)