2015-10-21 24 views
9

Tôi đang sử dụng chức năng ScanHardware để tải danh sách Camera đã cập nhật. Nếu cắm máy ảnh vào máy Mac mini của tôi, thời lượng máy ảnh đang được cập nhật. Nếu tôi tắt ứng dụng Máy ảnh của tôi sẽ đóng đột ngột.as3 scanHardware() làm cho sự cố ứng dụng của tôi bị lỗi

<?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> 

Nếu tôi sử dụng Camera.names sau khi tôi tháo bất kỳ Camera, Ứng dụng của tôi đang đâm.

Cách giải quyết sự cố?

+1

Mã của bạn hoạt động tốt cho tôi trong cửa sổ 10. Hãy thử nó trong các máy khác, nếu nó hoạt động để có thể bạn gặp vấn đề trong máy (phiên bản AIR, trình điều khiển cam, ...) ... – akmozo

+0

trên Windows, tôi đã thử điều đó. Nhưng nó không hoạt động trên Mac. – Vishnu

Trả lời

2

Lỗi Actionscript không được khiến ứng dụng gặp sự cố. Khi một ứng dụng gặp sự cố, thường là do ứng dụng đã cố gắng thực hiện một hoạt động bất hợp pháp ở cấp bản địa như ghi vào bộ nhớ dự trữ/không hợp lệ. Tôi sẽ bắt đầu bằng cách tìm sự cố với máy ảnh hoặc USB. Nếu bạn có thể tái tạo vấn đề bằng cách sử dụng một thương hiệu webcam khác, thì bạn có thể loại trừ phần cứng máy ảnh & trình điều khiển. Nếu bạn có thể tái tạo sự cố trên một máy Mac khác, thì có thể đó không phải là USB.

Các vấn đề liên quan