<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
verticalAlign="top"
backgroundColor="white"
creationComplete="init();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.utils.ObjectUtil;
import mx.utils.StringUtil;
private var cam:Camera;
private function init():void {
if (Camera.names.length == 0) {
Alert.show("您的电脑未检测到摄像头!!");
}
cameraContentCBB.dataProvider = Camera.names;
cam = Camera.getCamera();
camerTextArea.text = ObjectUtil.toString(cam);
//Camera.setMode(240,180,15);///设置一个宽320、高240、播放速率是15fps,
cam.setMode(640, 480, 30);
//Camera.setQuality(144000,85);// (85为常规的视频质量,最好就采用这个数值)
cam.setQuality(144000, 100);
//指定进行完整传输而不由视频压缩算法进行插值处理的视频帧(称为关键帧)。
cam.setKeyFrameInterval(1);
var video:Video = new Video();
video.width = cam.width;
video.height = cam.height;
video.attachCamera(cam);
vd.addChild(video);
}
private function changeCamera():void {
var tprContentStrText:String = cameraContentCBB.selectedIndex.toString();
cam = Camera.getCamera(tprContentStrText);
camerTextArea.text = ObjectUtil.toString(cam);
//Camera.setMode(240,180,15);///设置一个宽320、高240、播放速率是15fps,
cam.setMode(640, 480, 30);
//Camera.setQuality(144000,85);// (85为常规的视频质量,最好就采用这个数值)
cam.setQuality(144000, 100);
//指定进行完整传输而不由视频压缩算法进行插值处理的视频帧(称为关键帧)。
cam.setKeyFrameInterval(1);
var video:Video = new Video();
video.width = cam.width;
video.height = cam.height;
video.attachCamera(cam);
vd.addChild(video);
}
]]>
</mx:Script>
<mx:HBox>
<mx:ComboBox id="cameraContentCBB"></mx:ComboBox>
</mx:HBox>
<mx:HBox>
<mx:Button id="changeCameraBtn" label="切换" click="changeCamera()"/>
</mx:HBox>
<mx:HBox>
<mx:TextArea id="camerTextArea" width="640" height="480"/>
</mx:HBox>
<mx:HBox>
<mx:VideoDisplay id="vd"/>
</mx:HBox>
</mx:Application>