直接代码
package { import flash.display.Sprite; //要连接到用户的摄像头,需要Camera这个类 import flash.media.Camera; //通过Video这个类来获取摄像头捕获的图像 import flash.media.Video; import flash.events.StatusEvent; public class camera extends Sprite { //Camera没有__contrust,只能通过getCamera()方法来获得实例 var cam:Camera = Camera.getCamera(); var vid:Video; public function camera() { /* 检查摄像头是否安装,通过Camera.names这个数组中 是否有值来判断,也可以通过 var cam:Camera = Camera.getCamera(); if(cam != null){ // 安装摄像头的处理代码 }else{ //没有安装摄像头的处理代码 } */ if (Camera.names.length > 0) { //监听用户是允许flash player去使用摄像头 cam.addEventListener(StatusEvent.STATUS,statusHandler); //创建一个Video vid = new Video(); //Video实例添加Carera实例 vid.attachCamera(cam); } else { //如果没有安装摄像头的代码段 } } /** 监听事件函数,来判断用户是否允许flash Player去使用摄像头 当然也可以能过如下的方式来判断 if(cam.muted){ trace("用户禁止flash Player去使用摄像头"); }else{ trace("用户允许falsh Player去使用摄像头"); } */ function statusHandler(event:StatusEvent):void { switch (event.code) { case "Camera.Muted" : trace("用户禁止flash Player去使用摄像头"); break; case "Camera.Unmuted" : trace("用户允许falsh Player去使用摄像头"); //并用摄像头的维度来设置video的维度 vid.width = cam.width; vid.height = cam.height; //将Video实例添加到显示列表中 addChild(vid); break; } cam.removeEventListener(StatusEvent.STATUS,statusHandler); } } }