0

私は flashbuilder を使用してフレックスの作業を開始しており、カメラをテストしていました。これでカメラを表示できますが、停止ボタンを使用してカメラのキャプチャを停止しようとすると、これが機能しません。

    var video:Video;
    public function startCamera(muteCam:Boolean=false):void{
        video = new Video(); // this will work after the import is done

        var camera:Camera=Camera.getCamera();
        if(muteCam){
        video.attachCamera(camera);

        vidHolder.addChild(video);
        }else{
            video.attachCamera(null);
            if(contains(video))
            vidHolder.removeChild(video);
            //camera=null;

        }


    }

これらは私のコンポーネントです

<s:Button x="116" y="28" label="Start" click="startCamera(true)"/>
    <s:VideoDisplay id="vidHolder" x="31" y="87" width="200" height="300"
                    />
    <s:Button id="stop" x="208" y="28" label="Stop" click="startCamera(false)"/>
4

1 に答える 1

1

を呼び出すたびに、新しい Video オブジェクトを作成していますstartCamera。つまり、実際にはステージ上にないビデオを削除しようとしています。

それ以外の:

video = new Video();

これを使って:

if ( !video ) {
    video = new Video();
}

Video オブジェクトがまだ作成されていない場合にのみ作成されます (!objectオブジェクトを評価して、null であるか、ブール値が false に設定されているかを確認します。object == nullこの場合、同じ方法で評価されます) 。

于 2013-07-23T16:04:02.577 に答える