我收到错误:" 1067:将Number类型的值隐式强制转换为不相关的类型字符串。"
尝试运行时:
var cam_array: Array = Camera.names;
for (var ci:Number=0; ci < cam_array.length; ci++){
trace(Camera.getCamera(ci).name);
}
但是当我跑步时:
var mic_array: Array = Microphone.names;
for (var mi:Number=0; mi < mic_array.length; mi++){
trace(Microphone.getMicrophone(mi).name);
}
没有问题。 唯一的变化是从麦克风到相机,所以给出了什么?
提前致谢!
答案 0 :(得分:0)
Camera
函数getCamera()
接受name
的可选参数:
name:String
(默认= null) - 指定要获取的摄像机,如 根据names属性返回的数组确定。对于大多数 应用程序,通过省略此参数获取默认摄像头。至 为此参数指定一个值,使用字符串表示形式 Camera.names数组中从零开始的索引位置。对于 例如,要指定数组中的第三个摄像头,请使用 Camera.getCamera(&#34; 2&#34)。
如果您不想使用默认参数,请将索引位置强制转换为字符串:
var cam_array:Array = Camera.names;
for (var ci:uint = 0; ci < cam_array.length; ci++){
trace(Camera.getCamera(ci.toString()).name);
}
循环摄像机名称的另一种方法是:
var cam_array:Array = Camera.names;
for each (var camera:String in cam_array) {
trace(camera);
}
另一方面,Microphone
函数getMicrophone()
接受索引的可选参数:
index:int
(默认值= -1) - 麦克风的索引值。