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

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:Flash8帮助中关于Camera.setMode方法的描述错误
  • 本文链接:http://zengrong.net/post/188.htm


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

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

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 方法。