gpt4 book ai didi

image - Action 3。在mp3可用或不可用时显示替代图像(使用条件图像)

转载 作者:行者123 更新时间:2023-12-02 23:19:24 25 4
gpt4 key购买 nike

我想知道解决这个问题的最佳方法

我已成功从XML文件加载声音(audioMP3),并使用EventListener处理IO错误。

我想在舞台上显示图像,当有MP3可用时,或者在没有MP3时显示替代图像。

我一直在尝试访问IO错误,并在有条件的情况下使用它来选择图片,例如
如果出现IO错误,则显示btnAudioNo
其他显示btnAudioYes

这是eventListemer:

audioMP3.addEventListener(IOErrorEvent.IO_ERROR, onSoundIOError, false, 0, true);
function onSoundIOError (e:IOErrorEvent){
trace(e.text);
removeEventListener(IOErrorEvent.IO_ERROR, onSoundIOError)
}

我狡猾的有条件的尝试:
var btnAudioYes:Bitmap = new Bitmap(new(getDefinitionByName("btnAudioYes")) (0,0) );
var btnAudioNo:Bitmap = new Bitmap(new(getDefinitionByName("btnAudioNo")) (0,0) );
if(ioError = false){
addChild(btnAudioYes);
}
else {
addChild(btnAudioNo);
}

我的问题是,如何使它正常工作,还有没有更好的方法来确定是否有可用的MP3文件(在XML文件中)并显示适当的图像?

非常感谢您的建议。

最佳答案

ProgressEvent的侦听器(除了IOErrorEvent之外),如果获取进度,则文件存在,可以取消(关闭)加载程序。除非您希望此时加载整个音频文件,否则请监听complete事件。

loader:Loader = new Loader();

loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onSoundProgress, false, 0, true);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSoundLoadComplete); //use this only if you want to load the entire audio file at this point
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onSoundIOError, false, 0, true);

loader.load("your file");

function onSoundIOError (e:IOErrorEvent){
//this function will only run if the file does not exist
loader = null;
var btnAudioNo:Bitmap = new Bitmap(new(getDefinitionByName("btnAudioNo")) (0, 0) );
addChild(btnAudioNo);
}

function onSoundProgress(e:ProgressEvent) {
//this function will only run if the file DOES exist

loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onSoundProgress); //we don't want this firing again

var btnAudioYes:Bitmap = new Bitmap(new(getDefinitionByName("btnAudioYes")) (0,0) );
addChild(btnAudioYes);

//if you you don't want to actually load the audio file, do this to cancel the load
loader.close(); //close the loader to keep from loading the rest of the file
loader.contentLoaderInfo.unloadAndStop(true);
loader = null;
}

//use this only if you want to load the entire audio file at this point
function onSoundComplete(e:Event):void {
//do whatever you need to do with the sound...
}

关于image - Action 3。在mp3可用或不可用时显示替代图像(使用条件图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12117732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com