カメラを選ぶ
var cam:Camera = Camera.getCamera();
すると標準のカメラが選ばれるが
Camera.getCamera("0");
とすると0番目のカメラが使える
なぜかインデックスをstringで渡す。謎仕様。
trace(Camera.names[0]);
で0番目のカメラの名前がわかる。これはstringで返ってくる。
Videoインスタンスにするのはこんな感じ
var cam:Camera = Camera.getCamera(); cam.setMode(CAM_WIDTH, CAM_HEIGHT ,12,true);// 12FPS cam.setQuality(0, 100); var camVideo:Video = new Video(CAM_WIDTH, CAM_HEIGHT);
fl.controls.ComboBoxを使ってカメラを選ぶUIを作った。
var camComboBox:ComboBox = new ComboBox(); addChild(camComboBox); camComboBox.width = 170; for (var i:int = 0; i < Camera.names.length; i++) { // コンボボックスにカメラの名前を入れる var item:Object = new Object(); item.label = Camera.names[i]; camComboBox.addItem(item); } camComboBox.addEventListener(Event.CHANGE, function() { // コンボボックスの選択要素が変わったときのイベント cam = Camera.getCamera(camComboBox.selectedIndex.toString()); // カメラ切り替え camVideo.attachCamera(cam); });
ComboBoxのaddItemでなぜかlabelプロパティを持ったオブジェクトを要求されるのでObjectで突っ込んでみた。