as3 scanHardware()函数使我的应用程序崩溃

时间:2015-10-21 06:05:51

标签: macos actionscript-3 actionscript camera flex3

我正在使用ScanHardware功能来获取更新的相机列表。如果将相机插入我的Mac mini,则会更新相机长度。如果我插入相机我的应用程序突然关闭。

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       height="280"
                       width="280"
                       creationComplete="test1()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

            import mx.controls.Alert;
            public var hardwareTimer:Timer;
            public function test1():void{
                hardwareTimer = new Timer(5000);
                hardwareTimer.addEventListener(TimerEvent.TIMER,refreshHardware);
                hardwareTimer.start();
            }
            public function refreshHardware(ev:TimerEvent):void{

                flash.media.scanHardware();
                Alert.show(Camera.names.length.toString());
            }
        ]]>
    </fx:Script>
</s:WindowedApplication>
  

如果我拔掉任何Camera.names后我使用Camera,我的应用就会崩溃。

如何解决问题?

1 个答案:

答案 0 :(得分:2)

Actionscript错误不应导致应用程序崩溃。当应用程序崩溃时,通常是因为它尝试在本机级别上执行非法操作,例如写入保留/无效内存。 我首先要找相机或USB的问题。如果您可以使用不同品牌的网络摄像头重现问题,那么您可以排除相机硬件和放大器。驱动程序。如果你可以在另一个mac上重现问题,那么它可能不是USB。