·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0摄像头或视频帧拍照或视频截图类示例

时间:2013-06-01 17:43bbs.9ria.com
经常会遇到需要用摄像头拍照,或者对视频进行截图。所以我写了这个类GetVideoImage,无论是摄像头还是视频,都是用Video对象来负责播放视频流,所以拍照或视频截图都是对video用BitmapData.draw方法来截图视频的图像

开发flash项目时,经常会遇到需要用摄像头拍照,或者对视频进行截图。所以我写了这个类GetVideoImage,无论是摄像头还是视频,都是用Video对象来负责播放视频流,
所以拍照或视频截图都是对video用BitmapData.draw方法来截图视频的图像。

使用方法:
创建一个Video对象,重拍按钮,拍照按钮,友好提示文本,然后依次把它们作为参数传递给GetVideoImage类的实例。并侦听此实例发出的"completeCamPic”事件。
通过GetVideoImage类的getPrecamPic方法可以获得拍照或截取所得的图片对象,它是一个Sprite类型。

  1. var v:Video = new Video(320,280); 
  2. videoContent.addChild(v); 
  3. var getV:GetVideoImage = new GetVideoImage(v,recam_bt,cam_bt,txt); 
  4. getV.addEventListener("completeCamPic",completeCamPicFunc); 
  5. function completeCamPicFunc(e:Event):void{ 
  6.         camPicContent.addChild(getV.getPrecamPic()); 

在这里介绍一下GetVideoImage类中的isenabled方法,这个方法可以给Sprite,MovieClip,SimpleButton等显示对象添加或移除鼠标点击事件。
需要给它传递三个参数:isenabled(btMc:DisplayObject,isable:Boolean,fn:Function)
btMc:为需要添加事件的显示对象
isable;为true添加事件,为false移除事件
fn:为事件绑定的函数

  1. function isenabled(btMc:DisplayObject,isable:Boolean,fn:Function):void { 
  2.         var bt; 
  3.         if (isable) { 
  4.                 if(btMc is Sprite){bt = btMc as Sprite;bt.buttonMode=true;}else{bt = btMc;} 
  5.                 bt.addEventListener(MouseEvent.CLICK,fn); 
  6.                 bt.alpha=1
  7.         } else { 
  8.                 if(btMc is Sprite){bt = btMc as Sprite;bt.buttonMode=false;}else{bt = btMc;} 
  9.                 bt.removeEventListener(MouseEvent.CLICK,fn); 
  10.                 bt.alpha=0.5; 
  11.         } 

添加事件后,鼠标经过按钮对象会变成手形,点击触发绑定的函数,
移除事件后,鼠标经过按钮没有手形,点击无事件,按钮变成半透明效果。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器