Webカメラの指定

2009.7.7 火曜日

Macに内蔵されているiSight(Webカメラ)を、Flashから直接指定しようとすると、Camera.getCamera(”2”); ってしないといけないのは標準仕様?しっくりこないけどみんなはどうしているんだろう?
下のは、押されたキーボードの数字をIDにして、接続されているWebカメラの映像を切り替えるプログラム。起動時は “0″ を指定しています。指定したIDのカメラがない場合は無視。

→ Wornderfl

package {
	import flash.display.Sprite;
	import flash.events.KeyboardEvent;
	import flash.media.Camera;
	import flash.media.Video;

	[SWF(width=160, height=120, backgroundColor="#FFFFFF", frameRate=30)]

	public class Test extends Sprite {

		private var video:Video;

		public function Test():void {

			//カメラ設定
			SetCamera(0);

			//リスナー登録
			stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
		}

		//カメラ設定
		private function SetCamera(_id:uint):void {

			//カメラ取得
			var camera:Camera = Camera.getCamera(String(_id));

			//カメラがある場合
			if (camera != null) {

				//カメラのサイズ、fpsを設定
				camera.setMode(160, 120, 30);

				//CameraとVideoを関連付け
				video = new Video(camera.width, camera.height);
				video.attachCamera(camera);

				//ステージに追加
				this.addChild(video);
			}
		}

		//キーボードが押された場合
		private function KeyDown(e:KeyboardEvent):void {

			//ID設定
			var id:uint;
			if (e.keyCode >= 48 && e.keyCode <= 57) {
				id = e.keyCode - 48;
			}
			else if (e.keyCode >= 96 && e.keyCode <= 105) {
				id = e.keyCode - 96;
			}

			//カメラ設定
			SetCamera(id);
		}
	}
}

Posted by tmdf|

trackback

http://tmdf.net/blog/20090707_setcamera.html/trackback

comments(0)

POST NEW COMMENT

  • name:*
  • e-mail:*

    The content of this field is kept private and will not be shown publicly.
  • website:
  • comment:*

    Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code>
    Lines and paragraphs break automatically.

Photo

PROFILE

森田 考陽 [Takaaki Morita]
Twitter: @tmdf
Other: mtdf.net

Designer / Programmer

RECENT POSTS

MONTHLY ARCHIVES