Actionscript 3 尝试将声音元素捕捉到Flash CS5-as3中

Actionscript 3 尝试将声音元素捕捉到Flash CS5-as3中,actionscript-3,audio,load,mp3,Actionscript 3,Audio,Load,Mp3,大家好,有人知道为什么这个代码不起作用吗 对于其他负载[示例图像]与声音完美配合…否:( 这就是我得到的错误: Error #2044: Unhandled IOErrorEvent:. text=Error #2032: Stream Error 谢谢你,祝你好运!这篇文章中没有太多信息,我建议检查以下情况: 1) 您的var+”.mp3“是正确的URI吗?它是否指向现有文件?只需在浏览器中尝试-它是否应该找到该文件? 如果您指向internet中的文件,则应使用如下符号 如果您试图在硬盘上

大家好,有人知道为什么这个代码不起作用吗

对于其他负载[示例图像]与声音完美配合…否:(

这就是我得到的错误:

Error #2044: Unhandled IOErrorEvent:. text=Error #2032: Stream Error

谢谢你,祝你好运!

这篇文章中没有太多信息,我建议检查以下情况:

1) 您的
var+”.mp3“
是正确的URI吗?它是否指向现有文件?只需在浏览器中尝试-它是否应该找到该文件? 如果您指向internet中的文件,则应使用如下符号 如果您试图在硬盘上播放文件,则应使用直接文件地址,如C:/audio/song.mp3

2) 若URI可以,那个么文件可能不是mp3格式

3) 您可以尝试使用SoundLoaderContext,如

            var mySoundURL = new URLRequest(var+".mp3")
            var context:SoundLoaderContext = new SoundLoaderContext(0, false);
            snd.load(mySoundURL , context);

帖子中信息不多,建议检查以下情况:

1) 您的
var+”.mp3“
是正确的URI吗?它是否指向现有文件?只需在浏览器中尝试-它是否应该找到该文件? 如果您指向internet中的文件,则应使用如下符号 如果您试图在硬盘上播放文件,则应使用直接文件地址,如C:/audio/song.mp3

2) 若URI可以,那个么文件可能不是mp3格式

3) 您可以尝试使用SoundLoaderContext,如

            var mySoundURL = new URLRequest(var+".mp3")
            var context:SoundLoaderContext = new SoundLoaderContext(0, false);
            snd.load(mySoundURL , context);
您不能对装载机使用try/catch。以下是您要做的:

sound.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent);
sound.load(mySoundURL); 

private function onIOErrorEvent(e:IOErrorEvent):void{
  trace(e);
  trace(e.message);

  // ^  This will show you the file it tried to load and failed at

  e.currentTarget.removeEventListener(IOErrorEvent.IOError, onIOErrorEvent);
  e.currentTarget.removeEventListener(Event.COMPLETE, onComplete;
  // ^ don't forget to clean up your listeners!
}
原因是,正如您所看到的,未捕获错误不会告诉您任何有用的信息,例如加载失败的声音,或者您尝试联系的URL是什么

我认为@Alexander Sobolev的第一次猜测是正确的,因为你仍然会犯错误。处理加载程序中的错误与处理同步代码中的错误完全不同,try/catch在这方面对您没有帮助

如果您想尝试在第一次失败时播放alt声音,您可以在onIOErrorEvent函数中执行此操作

在使用Loader加载swf或图像文件时,您还可以侦听IOErrorEvent

 loader.contentLoaderInfo.addEventListener(IOErrorEvent....
或者一个URL加载器

 urlLoader.addEventListener(IOErrorEvent...
您不能对装载机使用try/catch。以下是您要做的:

sound.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent);
sound.load(mySoundURL); 

private function onIOErrorEvent(e:IOErrorEvent):void{
  trace(e);
  trace(e.message);

  // ^  This will show you the file it tried to load and failed at

  e.currentTarget.removeEventListener(IOErrorEvent.IOError, onIOErrorEvent);
  e.currentTarget.removeEventListener(Event.COMPLETE, onComplete;
  // ^ don't forget to clean up your listeners!
}
原因是,正如您所看到的,未捕获错误不会告诉您任何有用的信息,例如加载失败的声音,或者您尝试联系的URL是什么

我认为@Alexander Sobolev的第一次猜测是正确的,因为你仍然会犯错误。处理加载程序中的错误与处理同步代码中的错误完全不同,try/catch在这方面对您没有帮助

如果您想尝试在第一次失败时播放alt声音,您可以在onIOErrorEvent函数中执行此操作

在使用Loader加载swf或图像文件时,您还可以侦听IOErrorEvent

 loader.contentLoaderInfo.addEventListener(IOErrorEvent....
或者一个URL加载器

 urlLoader.addEventListener(IOErrorEvent...