我正在尝试使用基于网络摄像头的应用程序。我开始这样的代码:
import flash.media.Camera;
import flash.media.Video;
var cam:Camera = Camera.getCamera();
a.vid1.attachCamera(cam);
a.vid1.smoothing = true;
我的问题是视频的质量。 我正在使用iMac机器,其中相机质量很好。 有没有办法提高相机输出的质量?
感谢您的帮助。
答案 0 :(得分:10)
以下是示例代码
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.MouseEvent;
import flash.media.Camera;
import flash.media.Video;
public class iosTest extends Sprite
{
private var cam:Camera;
private var vid:Video;
public function iosTest()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
cam = Camera.getCamera();
if (!cam)
{
trace("No camera is installed.");
}
else
{
connectCamera();
}
}
private function connectCamera():void
{
cam.setMode(640, 480, 25);
cam.setQuality(0,100);
vid = new Video();
vid.width = cam.width;
vid.height = cam.height;
vid.attachCamera(cam);
addChild(vid);
stage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(e:MouseEvent):void
{
return;
switch (cam.width) {
case 160:
cam.setMode(320, 240, 10);
break;
case 320:
cam.setMode(640, 480, 5);
break;
default:
cam.setMode(160, 120, 15);
break;
}
removeChild(vid);
connectCamera();
}
}
}
答案 1 :(得分:3)
<强>参数强>
bandwidth:int - 指定最大值 当前的带宽量 传出视频源可以使用,以字节为单位 每秒。指定Flash 播放器视频可以使用尽可能多的带宽 根据需要保持价值 质量,带宽为0。该 默认值为16384.
quality:int - 一个指定的整数 所需的图像质量水平,如 由金额决定 压缩应用于每个 视频帧。可接受的值范围 从1(最低质量,最高 压缩)到100(最高质量, 没有压缩)。要指定 图像质量可根据需要而变化 避免超出带宽,传递0 质量。