ウェブカメラの出力を表示する単純な Flash SWF を Haxe で作成しようとしています。SWF を埋め込み可能にし、サイズを HTML で決定したいと考えています。したがって、私のHTMLは次のようになります。
<html>
<head><title>Web cam</title></head>
<body bgcolor="#dddddd">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
id="haxe"
align="middle"
width="640" height="480">
<param name="movie" value="webcam.swf"/>
<param name="allowScriptAccess" value="always" />
<param name="quality" value="high" />
<param name="scale" value="exactfit" />
<param name="bgcolor" value="#ffffff"/>
<embed src="webcam.swf"
width="640" height="480"
bgcolor="#ffffff"
name="haxe"
quality="high"
align="middle"
allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
/>
</object>
</body>
</html>
これにより、640x480 のサイズの webcam.swf が配置されます。ビルドwebcam.swf
には、次の Haxe スクリプトを使用します。
class Webcam {
static function main() {
var mc : flash.display.MovieClip;
var rawvideo : flash.media.Video;
var cam:flash.media.Camera = flash.media.Camera.getCamera();
cam.setMode(320, 240, 24, false);
cam.setQuality(0, 100);
mc=flash.Lib.current;
var stage = flash.Lib.current.stage;
stage.scaleMode=flash.display.StageScaleMode.EXACT_FIT;
rawvideo = new flash.media.Video(Std.int(stage.width), Std.int(stage.height) );
rawvideo.attachCamera(cam);
if (cam!=null) {
mc.addChild(rawvideo);
} else {
trace("No Camera");
}
}
}
これにより、Web カメラ出力を示す SWF ファイルが作成されますが、右側と下部に大きな白い帯がいくつかあります。Web カメラの画像で Flash オブジェクト全体を埋めたいと思っています。私は何を間違っていますか?