Flash8帮助中关于Camera.setMode方法的描述错误

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的帮助中,描述也是错误的。

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

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

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

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