flash camera类操作摄像头示例
package
{
import flash.display.Sprite;
import flash.media.Camera;
import flash.media.Video;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.events.ActivityEvent;
import flash.events.StatusEvent;
/**
* ...
* @author chb
*/
public class cameraExample extends Sprite
{
/**
* ...
* 构造函数
*/
public function cameraExample():void
{
trace("进入了构造函数");
setMain();
}
private var vid:Video;//声明视频对象
/**
* ...
* 主函数
*/
public function setMain():void
{
//设置舞台属性
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
//获取摄像头对象
var camera:Camera = Camera.getCamera();
//判断此对象是否为空
if (camera == null)
{
trace("此机器上没有安装摄像头");
}
else
{
camera.setLoopback(true);//压缩视频流
camera.setQuality(100000, 1000);//设置宽带量和画面质量
camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
camera.addEventListener(StatusEvent.STATUS,statusHandler);
//创建一个视频对象
vid = new Video(camera.width * 2, camera.height * 2);
//将摄像头流添加的视频
vid.attachCamera(camera);
//将视频添加到舞台
stage.addChild(vid);
trace("视频输入信号可以使用的最大宽度:" + camera.bandwidth);
trace("画面质量级别:" + camera.quality);
trace("摄像头捕获数据的速率:" + camera.currentFPS);
trace("摄像头名称:"+camera.name)
}
}
/**
* ...
* 在摄像头开始或结束会话时调度事件
*/
public function activityHandler(e:ActivityEvent)
{
trace("ActivityEvent:"+e);
}
/**
* ...
* 在摄像头报告期状态时调度事件
*/
public function statusHandler(e:StatusEvent):void
{
trace("statusHandler:"+e.code);
}
}
}
人生没有失败,只有自我放弃;只要不放弃,梦想总有一天会变成现实。
浙公网安备 33010602011771号