首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在flex4.6中获取QRcode时,相机帧变得太慢

当在flex4.6中获取QRcode时,相机帧变得太慢
EN

Stack Overflow用户
提问于 2014-01-05 14:58:12
回答 1查看 311关注 0票数 1

我正在使用flex 4.6来构建移动应用程序,我想得到二维码,当相机检测到它时,我使用zing库来得到它,它工作得很好,当按下按钮,但我想让它没有按钮,相机打开,并检查它我建立了一个计时器,重复每1毫秒,但相机的帧变得太慢,我怎么才能提高它的性能,成为相机的速度在正常。

代码片段:

代码语言:javascript
复制
            protected function tryAgain(event:TimerEvent):void
        {           
            videoDisplay.removeEventListener(Event.REMOVED,button1_clickHandler);
            System.gc();
            decodeSnapshot();
        }
        protected function onTimerComplete():void
        {
            lbl.text="finished";
        }
        protected function button1_clickHandler(event:MouseEvent):void
        {
            if (!cameraStarted) {
                if (Camera.isSupported)
                {
                    camera=Camera.getCamera();
                    camera.setMode(360, 360, 24);

                    videoDisplay.x = 360;
                    sv.addChild(videoDisplay);

                    videoDisplay.attachCamera(camera);
                    videoDisplay.rotation=90;
                    qrReader=new QRCodeReader;
                    lbl.text = "";
                    cameraStarted = true;
                    decodeSnapshot();
                }
                else {
                    lbl.text = "No Camera ";
                    }
            }
            else {
                decodeSnapshot();
            }
        }

        public function decodeSnapshot():void
        {
            myTimer.stop();
            lbl.text="Check in progress";
            bmd=new BitmapData(300, 300);
            bmd.draw(videoDisplay, null, null, null, null, true);
            videoDisplay.cacheAsBitmap=true;
            videoDisplay.cacheAsBitmapMatrix=new Matrix;
            decodeBitmapData(bmd, 300, 300);
            bmd.dispose();
            bmd=null;
            System.gc();
        }
        public function getAllHints():HashTable
        {
            var ht:HashTable=new HashTable;
            ht.Add(DecodeHintType.POSSIBLE_FORMATS, BarcodeFormat.QR_CODE);
            return ht;
        }

        public var tempObj:Object = new Object();
        protected var myTimer:Timer = new Timer(1,0);
        protected var saveManager:PersistenceManager = new PersistenceManager();

        public var userName:String;
        public var pass:String;
        public var qr:String;

        private var _data:Object;

        public function decodeBitmapData(bmpd:BitmapData, width:int, height:int):void
        {
            var lsource:BufferedImageLuminanceSource=new BufferedImageLuminanceSource(bmpd);
            var bitmap:BinaryBitmap=new BinaryBitmap(new GlobalHistogramBinarizer(lsource));

            var ht:HashTable=null;
            ht=this.getAllHints();

            var res:Result=null;
            try {
                res=qrReader.decode(bitmap, ht);
            }
            catch (event:Error) {
            }
            if (res == null) {
                videoDisplay.clear();


                    myTimer.addEventListener(TimerEvent.TIMER , tryAgain);
                    myTimer.start();


            }

            else {

                myTimer.removeEventListener(TimerEvent.TIMER , tryAgain);               
                camera.removeEventListener(ActivityEvent.ACTIVITY,button1_clickHandler);
                var parsedResult:ParsedResult=ResultParser.parseResult(res);


                lbl.text=parsedResult.getDisplayResult();

                var saveManager:PersistenceManager = new PersistenceManager();
                saveManager.setProperty("QRstring", parsedResult.getDisplayResult());



                videoDisplay.clear();
                sv.removeChild(videoDisplay);

                cameraStarted = false;
                btn.visible=false;

                qRcode(userName , pass,qr, lbl.text);


            }
        }

更新:谁能帮助我如何处理相机时,移动到工作没有停止的帧当移动我试图打开相机在用户和扫描仪工作在它后面,当扫描相机继续工作,但我做不到。

提前感谢您的帮助或建议。

EN

回答 1

Stack Overflow用户

发布于 2014-11-08 21:49:36

我正在使用zing库。当我使用名为"TRY_HARDER“的提示类型时,我遇到了相机性能问题。

添加提示的代码如下所示:

代码语言:javascript
复制
var ht:HashTable=new HashTable;
ht.Add(DecodeHintType.POSSIBLE_FORMATS,BarcodeFormat.QR_CODE);
ht.Add(DecodeHintType.TRY_HARDER,true);
var res:Result = myReader.decode(bitmap, ht);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20931011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档