setMode(Camera.setMode 方法)
public setMode([width:Number], [height:Number], [fps:Number],
[favorArea:Boolean]) : Void

参数
width:Number [可选] - 请求的捕获宽度,以像素为单位。默认值为 160。
height:Number [可选] - 请求的捕获高度,以像素为单位。默认值为 120。
fps:Number [可选] -
摄像头捕获数据应使用的请求速率,以每秒帧数为单位。默认值为 15。
favorArea:Boolean [可选] -
布尔值,指定如果摄像头不具有满足指定要求的本机模式时如何控制宽度、高度和帧频。默认值为
true,这意味着支持保持捕获大小;使用此参数选择与 width 和 height
值最匹配的模式,即使这样做会由于降低帧频而对性能有不利影响。若要最大限度地提高帧频,而不考虑摄像头的高度和宽度,请将
false 传递给 favorArea 参数。

上面是从Flash 8
中文版帮助中摘录的,从文字中可以看到setMode方法的每一个参数都是可选的。但实际上,必须至少提供前面三个参数,此方法才会工作。同样的,在FMS的帮助中,描述也是错误的。

利用下面这段代码可以检验一下:

file="setMode.as" lang="ActionScript"}
1
2
3
4
5
6
7
8
9
10
var cam:Camera = Camera.get();
my_video.attachVideo(cam);
//btn1和btn2是两个按钮元件
btn2.onPress = function() {
trace(my_video.width); //my_video是时间轴上的一个视频元件
};
btn1.onPress = function() {
cam.setMode(320, 240);
//cam.setMode(320, 240, 24);
};

交替注释8、9行代码,可以看到效果。第8行代码并不会起作用。如果不使用第9行,那么显示的width值始终都是160(默认值)。

同样描述错误的还有Camera.setMotionLevel 以及Camera.setQuality 方法。

留言

2006-06-01
次访问