Первое, что я хотел бы сделать, это убедиться, что Flash на самом деле встроен. Если это так, что Javascript работает правильно, то здесь есть несколько возможных проблем. Во-первых, я не уверен, но думаю, что вы не захотите прикреплять камеру к видеообъекту, а вместо этого к видеоэкрану:
<mx:VideoDisplay x="784" y="276" width="0" height="0" id="video"/>
А затем сделайте:
video.addChild(cam);
Во-вторых, если вы используете Mac, стандартная функция getCamera () не работает 100% времени. То, что я бы порекомендовал вам сделать, это определить собственную функцию get camera, которая должна выглядеть примерно так:
private function getCamera():Camera{
var camera:Camera;
var index:int = 0;
for (var i:int = 0; i < Camera.names.length; i++) {
trace(Camera.names[i]);
if (Camera.names[i] == "USB Video Class Video") { // for macs camera
index = i;
}
}
camera = Camera.getCamera(String(index));
if (camera == null) {
return null;
}
else {
return camera;
}
}
В основном, некоторые Mac имеют камеру по умолчанию, которая расположена в странном месте, где стандартный вызов getCamera не работает. Это должно помочь. Удачи!