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 方法。
- 文章ID:188
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/camerasetmode/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。