【问题标题】:How to stop Camera capture in as3, flex?如何在 as3,flex 中停止相机捕捉?
【发布时间】:2013-07-23 15:41:26
【问题描述】:

我正在使用 flashbuilder 开始制作 flex,并且正在测试相机。现在我可以让相机显示,但是当我尝试使用停止按钮停止相机拍摄时,ti 不起作用,这是我尝试的。

    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)"/>

【问题讨论】:

    标签: actionscript-3 flash apache-flex


    【解决方案1】:

    每次调用startCamera 时,您都会创建一个新的视频对象。因此,您正在尝试删除实际上不在舞台上的视频。

    代替:

    video = new Video();
    

    使用这个:

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

    只有在尚未创建 Video 对象时才会创建它(!object 评估对象以查看它是否为 null 或设置为 false 的布尔值。object == null 在这种情况下将以相同的方式评估)

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多