as3 scanHardware() 函数使我的应用程序崩溃
Posted
技术标签:
【中文标题】as3 scanHardware() 函数使我的应用程序崩溃【英文标题】:as3 scanHardware() function making my app crash 【发布时间】:2016-01-20 00:32:19 【问题描述】:我正在使用 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"
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
,我的应用程序就会崩溃。
如何解决这个问题?
【问题讨论】:
您的代码在 Windows 10 中对我来说可以正常工作。在其他机器上尝试一下,如果它正常工作,那么您的机器可能有问题(AIR 版本,凸轮驱动程序,...)... 它在 Windows 上运行良好,我试过了。但它不适用于 Mac。 【参考方案1】:Actionscript 错误不应导致应用崩溃。当应用程序崩溃时,通常是因为它在本机级别尝试了非法操作,例如写入保留/无效内存。 我会首先寻找相机或 USB 的问题。如果您可以使用其他品牌的网络摄像头重现问题,则可以排除摄像头硬件和驱动程序。如果您可以在另一台 Mac 上重现该问题,则可能不是 USB。
【讨论】:
以上是关于as3 scanHardware() 函数使我的应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
AS3中这种奇怪的语法是什么。为什么这会使我的浏览器无响应地挂起//崩溃