Flash/Flex学习笔记(2):捕获摄像头

Flash中使用摄像头,个人感觉比silverlight要更容易

时间轴第一帧上敲以下代码就可以了:

//import fl.controls.Label;

//var camera:Camera = Camera.getCamera();
//trace(camera==null?"未检测到摄像头":"已安装了摄像头");


var W:int=stage.stageWidth;//场景的原始宽度
var H:int=stage.stageHeight;//场景的原始高度

stage.scaleMode=StageScaleMode.NO_SCALE;//舞台禁止缩放,但是好象没效果?

var video:Video;
var camera:Camera=Camera.getCamera();

if (camera==null) {
	trace("未检测到摄像头!");	
	lbl1.text="未检测到摄像头!";
	btnCapture.visible=false;

} else {
	camera.addEventListener(ActivityEvent.ACTIVITY,activityHander);
	video=new Video(camera.width,camera.height);
	trace("视频宽度:" + camera.width + ",视频高度:" + camera.height);
	video.attachCamera(camera);
	//定位到水平中心点
	video.x = (W - video.width) /2;
	video.y=10;
	addChild(video);//加载到当前舞台中
	btnCapture.x = (W - btnCapture.width) /2;
	btnCapture.y=video.y+video.height+5;
	btnCapture.addEventListener(MouseEvent.CLICK,captureImage);

}

function activityHander(e:ActivityEvent):void {
	trace("activityHander:" + e);
}

var dp:DataProvider = new DataProvider();

function captureImage(e:MouseEvent):void {
	//trace("你点击了按钮");
	var bit:BitmapData=new BitmapData(video.width,video.height);
	bit.draw(video);
	var bmp:Bitmap=new Bitmap(bit);
	//bmp.y=btnCapture.y+btnCapture.height+10;
	//bmp.x = (W - bmp.width) /2;
	var d:Date = new Date();
	dp.addItem({label:"截图" + d.getFullYear() + d.getMonth() + d.getDay() + d.getHours() + d.getMinutes() + d.getSeconds() + d.getMilliseconds(),source:bmp});
	
	//addChild(bmp);
	tilelst1.dataProvider = dp;
}

stop();

运行效果图:

源代码下载:http://cid-2959920b8267aaca.skydrive.live.com/self.aspx/Flash/GetCamera.rar

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏郭霖

Android状态栏微技巧,带你真正理解沉浸式模式

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。 其实说到沉浸式状态栏这个名字我...

33210
来自专栏帮你学MatLab

如何记笔记

Step1. 在听讲过程中,在左侧内尽量多记有意义的论据、概念等讲课内容。 Step2. 下课以后,尽可能及早将这些论据、概念简明扼要地概括(简化)在右侧。 ...

2896
来自专栏从零开始学自动化测试

Selenium2+python自动化26-js处理内嵌div滚动条

前言 前面有篇专门用js解决了浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候又得仰仗js大哥来解决啦。 一、内嵌滚动条 1....

3167
来自专栏Material Design组件

Human Interface Guidelines — Accessibility

1712
来自专栏张戈的专栏

网站集成打字震动特效JS代码改进版

这又是一个拖欠了很久的分享,很早就有朋友留言问评论打字炫彩、震动特效怎么实现的。这功能其实网上早就有人分享 N 遍了,有点搜索技巧和 DIY 能力的站长同学也早...

5197
来自专栏非著名程序员

Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)

Android 实现视屏播放器与边播边缓存功能外加蹲坑铲屎(IJKPlayer) hello,大家好,我就是那个会掀桌子的话唠,刚刚结束两篇关于音频播放与录制的...

7669
来自专栏华章科技

为什么歪果仁的Excel表格这么漂亮?

兰色说:其实Excel漂亮并不意味着花梢,表格设计就是要突出和展示数据,达到这个目的,又能看上去很舒服。就是完美又好看的Excel表格。

781
来自专栏琯琯博客

awesome-css-cn命名习惯和方式参考其他资源原文链接

CSS 资源列表,内容包括:CSS预处理器、框架、CSS结构、代码风格指南、命名习惯、播客、演讲视频、大网站的 CSS 开发经验等等。 预处理器 更快地编译 C...

4848
来自专栏Jack的Android之旅

基于豆瓣和妹子的api用React Native写的demo for android

最近一直在学React Naitve,可以说React Native的确有他自身强大的地方,不管是运行效率还是热更新都和一般的h5有的一比,当然因为面世的时间还...

1172
来自专栏编程之旅

iOS 判断设备型号、屏幕尺寸、系统版本、设备朝向

现在的iOS开发中,因为iPhone的尺寸越来越多,有时候自动布局也很难适配出很精美的UI界面,难免有时候想根据机型来适配界面,所以在这里教大家一种很简单的来判...

2282

扫码关注云+社区

领取腾讯云代金券