如何使用Flex Sound类处理加载错误

Mid*_*Gun 3 apache-flex flash actionscript-3

我在Flex 3中看到flash.media.Sound类的奇怪行为.

var sound:Sound = new Sound();
try{
sound.load(new URLRequest("directory/file.mp3"))
} catch(e:IOError){
 ...
}
Run Code Online (Sandbox Code Playgroud)

然而,这没有帮助.我收到一个流错误,它实际上看到是在Sound构造函数中.

错误#2044:未处理的IOErrorEvent:.text =错误#2032:流错误.在... ]

我在Flex文档中看到了一个示例,它们为IOErrorEvent添加了一个事件监听器,SURELY我不必这样做,并且可以简单地使用try-catch?我可以设置null事件监听器吗?

Ant*_*tti 5

IOError =无法找到目标文件(或由于某些其他原因无法读取).检查文件的路径.

编辑:我刚刚意识到这可能不是你的问题,你只是想捕获IO错误?如果是这样,你可以这样做:

var sound:Sound = new Sound();
sound.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
sound.load(new URLRequest("directory/file.mp3"));

function ioErrorHandler(event:IOErrorEvent):void {
    trace("IO error occurred");
}