Używam funkcji ScanHardware, aby uzyskać zaktualizowaną listę kamer. Jeśli podłączasz kamerę do mojego komputera Mac mini, długość kamery jest aktualizowana. Jeśli wyłączyłem kamerę Moja aplikacja nagle się zamyka.as3 funkcja scanHardware() powodująca awarię mojej aplikacji
<?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>
Jeśli używam
Camera.names
po odłączeniu jakiegokolwiekCamera
, Moja aplikacja jest upaść.
Jak rozwiązać problem?
Twój kod działa dobrze dla mnie w Windows 10. Spróbuj go na innych komputerach, jeśli działa, więc może masz problem z urządzeniem (wersja AIR, sterownik kamery, ...) ... – akmozo
To działa dobrze w systemie Windows próbowałem tego. Ale nie działa na Macu. – Vishnu