2015-10-21 3 views
9

私はScanHardware関数を使用して、更新されたカメラリストを取得しています。カメラをMac miniに接続すると、カメラの長さが更新されます。私がカメラを接続すると、私のアプリは急に閉じます。as3 scanHardware()関数が私のアプリケーションをクラッシュさせる

<?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を抜いた後、私はCamera.namesを使用している場合は、私のアプリがクラッシュします。

問題を解決するにはどうすればよいですか?

+1

あなたのコードはWindows 10でうまく動作します。他のマシンでも動作していれば、マシン(AIRバージョン、カムドライバ、...)に何か問題があるかもしれません。 – akmozo

+0

うまく動作していますWindowsでは、私はそれを試みました。しかし、それはMacで動作していません。 – Vishnu

答えて

2

アクションのエラーが原因でアプリがクラッシュしてはなりません。アプリがクラッシュすると、通常、予約された/無効なメモリに書き込むようなネイティブレベルの不正な操作が試みられたためです。 カメラやUSBの問題を探すことから始めます。異なるブランドのウェブカメラを使用して問題を再現できる場合は、カメラハードウェア&ドライバを除外することができます。別のMacで問題を再現できる場合は、おそらくUSBではありません。

関連する問題