Flash 闪存AS2-手柄缺失声卡

Flash 闪存AS2-手柄缺失声卡,flash,audio,actionscript-2,Flash,Audio,Actionscript 2,在我的AS2 Flash游戏中,我播放了许多声音文件,并等待“onSoundComplete”消息/功能后再继续 问题是,如果系统中没有声卡(或者在设备管理器中禁用了声卡)-一切都像在工作一样(没有错误,onLoad处理程序获得“true”)-但是声音从未真正播放,因此,我的事件从未触发 我本来打算通过挂接我的声音代码来处理这个问题,如果我没有检测到声卡,只需启动计时器等待几秒钟,然后手动启动“onSoundComplete”功能 唯一的问题是,我无法可靠地找到一种方法来确定系统中是否有声卡 顺

在我的AS2 Flash游戏中,我播放了许多声音文件,并等待“onSoundComplete”消息/功能后再继续

问题是,如果系统中没有声卡(或者在设备管理器中禁用了声卡)-一切都像在工作一样(没有错误,onLoad处理程序获得“true”)-但是声音从未真正播放,因此,我的事件从未触发

我本来打算通过挂接我的声音代码来处理这个问题,如果我没有检测到声卡,只需启动计时器等待几秒钟,然后手动启动“onSoundComplete”功能

唯一的问题是,我无法可靠地找到一种方法来确定系统中是否有声卡


顺便说一句-AS3通过传回一个空的soundchannel似乎很好地处理了这个问题-不幸的是,我被困在AS2.0中了

您应该能够使用System.capabilities

下面是一个音频示例:

    var userAudio:Boolean = System.capabilities.hasAudio;
trace("YOUR SYSTEM HAS AUDIO:");
trace(userAudio);
以下是来自的所有属性::


您应该能够使用System.capabilities

下面是一个音频示例:

    var userAudio:Boolean = System.capabilities.hasAudio;
trace("YOUR SYSTEM HAS AUDIO:");
trace(userAudio);
以下是来自的所有属性::


奇怪的是,即使我在设备管理器中禁用声卡,System.capabilities.hasAudio仍然是“真的”。这个答案不起作用,因为System.capabilities.hasAudio对于桌面播放器始终是真的-System.capabilities报告播放器的功能,而不是系统。奇怪的是,System.capabilities.hasAudio是“true”,即使我在设备管理器中禁用了声卡。这个答案不起作用,因为System.capabilities.hasAudio对于桌面播放器总是true-System.capabilities报告播放器的性能,而不是系统。现在,我能确定系统是否有声音的唯一可靠方法是以低音量播放一个简短的声音文件,并检查它是否有声音完整功能。像这样的黑客会让我的一小部分死亡。现在,我能确定系统是否有声音的唯一可靠方法是以低音量播放一个简短的声音文件,并检查它是否有声音。完整的功能是否启动过。像那样的黑客会让我的一小部分死去。