fms系列5 时时视频聊天

http://www.cnblogs.com/beniao/archive/2009/04/28/1444159.html


package

{
    import flash.net.
* ;
    import flash.events.
* ;
    import flash.display.
* ;
    import flash.media.
* ;
    import fl.controls.
* ;
    
    
public   class  PublishStream extends Sprite
    {
        
private  var video:Video;
        
private  var nc:NetConnection;
        
private  var ns:NetStream;
        
private  var cam:Camera;
        
private  var mic:Microphone;
        
        
public  function PublishStream(): void
        {
            btnPublish.label
= " 发布视频 " ;
            btnPublish.addEventListener(MouseEvent.CLICK,onPublishClick);
            
            
// 获取视频和声音,并将视频显示到Flash界面
            cam  =  Camera.getCamera();
            mic 
=  Microphone.getMicrophone();
            video 
=   new  Video( 320 , 240 );
            video.attachCamera(cam);
            video.x
= 20 ;
            video.y
= 20 ;
            addChild(video);
        }
        
        
private  function onPublishClick(evt:MouseEvent): void
        {
            nc 
=   new  NetConnection();
            nc.connect(
" rtmp://localhost/LiveStreams " );
            nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
        }
        
        
private  function onNetStatusHandler(evt:NetStatusEvent): void
        {
            trace(evt.info.code);
            
if (evt.info.code == " NetConnection.Connect.Success " )
            {
                ns
= new  NetStream(nc);
                ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
                ns.client
= new  CustomClient();
                ns.attachCamera(cam);
                ns.attachAudio(mic);
                ns.publish(txtInput.text,
" live " );
            }
        }
    }

}

------------------------------------

以上是视频发布端的代码。显示定义获取cam,mic,video等,然后连接到程序,然后定义ns,最后是publish出来,多了个live,表示是时时的,所以不会在对应目录下保存该视频片段。

=================================

package
{
    import flash.net.
*;
    import flash.events.
*;
    import flash.display.
*;
    import flash.media.
*;
    
    
public class LiveStream extends Sprite
    {
        
private var video:Video;
        
private var nc:NetConnection;
        
private var ns:NetStream;
        
        
public function LiveStream():void
        {
            nc 
= new NetConnection();
            nc.connect(
"rtmp://localhost/LiveStreams");
            nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
        }
        
        
private function onNetStatusHandler(evt:NetStatusEvent):void
        {
            
if(evt.info.code=="NetConnection.Connect.Success")
            {
                ns
=new NetStream(nc);
                ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatusHandler);
                ns.client
=new CustomClient();
                video
=new Video();
                video.attachNetStream(ns);
                ns.play(
"1111");//1111为流的名字,对应于视频流发布端的publish("1111","live").
                addChild(video);
            }
        }
    }
}

---------------------------------

与之前的代码很相似,这边是play 1111,所以在发布端的文本输入框中也该输入1111.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值