2016-10-13 00:16:48 点击量:33 标签: 收藏本文
开发flash项目时,经常会遇到需要用摄像头拍照,或者对视频进行截图。所以我写了这个类GetVideoImage,无论是摄像头还是视频,都是用Video对象来负责播放视频流,
所以拍照或视频截图都是对video用BitmapData.draw方法来截图视频的图像。
使用方法:
创建一个Video对象,重拍按钮,拍照按钮,友好提示文本,然后依次把它们作为参数传递给GetVideoImage类的实例。并侦听此实例发出的"completeCamPic”事件。
通过GetVideoImage类的getPrecamPic方法可以获得拍照或截取所得的图片对象,它是一个Sprite类型。
- var v:Video = new Video(320,280);
- videoContent.addChild(v);
- var getV:GetVideoImage = new GetVideoImage(v,recam_bt,cam_bt,txt);
- getV.addEventListener("completeCamPic",completeCamPicFunc);
- function completeCamPicFunc(e:Event):void{
- camPicContent.addChild(getV.getPrecamPic());
- }
在这里介绍一下GetVideoImage类中的isenabled方法,这个方法可以给Sprite,MovieClip,SimpleButton等显示对象添加或移除鼠标点击事件。
需要给它传递三个参数:isenabled(btMc:DisplayObject,isable:Boolean,fn:Function)
btMc:为需要添加事件的显示对象
isable;为true添加事件,为false移除事件
fn:为事件绑定的函数
- function isenabled(btMc:DisplayObject,isable:Boolean,fn:Function):void {
- var bt;
- if (isable) {
- if(btMc is Sprite){bt = btMc as Sprite;bt.buttonMode=true;}else{bt = btMc;}
- bt.addEventListener(MouseEvent.CLICK,fn);
- bt.alpha=1;
- } else {
- if(btMc is Sprite){bt = btMc as Sprite;bt.buttonMode=false;}else{bt = btMc;}
- bt.removeEventListener(MouseEvent.CLICK,fn);
- bt.alpha=0.5;
- }
- }
添加事件后,鼠标经过按钮对象会变成手形,点击触发绑定的函数,
移除事件后,鼠标经过按钮没有手形,点击无事件,按钮变成半透明效果。
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室