Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何在Actionscript 3中播放与SWF不在同一目录中的声音?_Flash_Url_Actionscript_Audio_Urlrequest - Fatal编程技术网

Flash 如何在Actionscript 3中播放与SWF不在同一目录中的声音?

Flash 如何在Actionscript 3中播放与SWF不在同一目录中的声音?,flash,url,actionscript,audio,urlrequest,Flash,Url,Actionscript,Audio,Urlrequest,我有一个项目,在SWF中有一堆外部声音。我想播放它们,但每当我尝试将新URL加载到声音对象时,它都会失败 错误#2068:无效声音 或引发IOR错误 错误#2032流错误 //已尝试使用前缀为“”的路径http://.." "file://..“//…”和“.”) 除非要放置完整的url,否则不要使用http://或文件:// 声音可以从完整或相对url加载mp3文件。你只需要确保你的url是正确和有效的 例如,如果文件的完整路径为,则“/assets/the_song.mp3”的路径可以工作。

我有一个项目,在SWF中有一堆外部声音。我想播放它们,但每当我尝试将新URL加载到声音对象时,它都会失败

错误#2068:无效声音

或引发IOR错误

错误#2032流错误

//已尝试使用前缀为“”的路径http://.." "file://..“//…”和“.”)


除非要放置完整的url,否则不要使用http://或文件://

声音可以从完整或相对url加载mp3文件。你只需要确保你的url是正确和有效的


例如,如果文件的完整路径为,则“/assets/the_song.mp3”的路径可以工作。

好吧,我刚刚做了一个测试,将一个mp3放在一个目录中:
soundTest/assets/song.mp3
然后创建一个swf,在另一个目录中调用mp3:
soundTest/swfs/soundTest.swf
,当我使用
var path:String=“./assets/song.mp3”
则编译时不会出错


您的实际目录结构是什么?

您应该下载适用于FireFox的httpfox。此嗅探器允许您查看通过浏览器的数据。您可以查看其加载的文件,包括每个文件的路径,甚至可以嗅探POST和GET变量。这将向您显示文件从何处提取并保存因此,您可以相应地修复您的相对路径

重要提示:

从SWF调用的所有外部资源都与加载到web上时加载它们的html文件有关,而不是SWF。唯一的例外是,这是从AS3开始的,FLV与SWF有关,而不是像其他所有资源一样加载SWF的html文档。这就是为什么嗅探器是一个重要的工具,我挠头说r有一段时间,直到我注意到嗅探器中的URL调用了一个奇怪的路径


下面是加载声音的方法。

在两种协议RTMP和HTTP中,路径应该是--“path/to/mp3:file.mp3”或“path/to/mp3:file”。我记得。请检查两者。

很抱歉,我在顶部的示例中不清楚。如果我尝试了您对path=“../assets/the#song.mp3”的建议,我收到了“error#2068:无效声音”的错误。(我还尝试了“/../assets/the_song.mp3”,这导致了相同的错误。)我也没有任何编译时错误,但当我尝试以下任一操作时,我会遇到运行时错误(并且声音不会播放):path=”http://../assets/the_song.mp3“//ioErrorEvent,Error#2032 Stream Error path=“../assets/the_song.mp3"//错误#2068:Invalid SoundNote这是两个示例,看起来返回值不会被放入注释中。只想强调我收到的是运行时错误,而不是编译时错误。嗯,我也没有收到任何运行时错误。我的示例代码和您的示例代码之间的唯一区别是,我没有侦听任何IO或安全错误rs.你能试一下那些剥去的吗?我在做这个测试的时候意识到我需要把MP3移回去。在它工作后,我试着把安全事件添加回去,它也工作了。这是有道理的…因为没有流,所以出现了流错误。谢谢。
var soundRequest:URLRequest = "path/to/file.mp3";
var s:Sound = new Sound(soundRequest);
var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible number to flash.
//Above starts the sound immediatly (Streaming);

//Now to wait for completion instead, pretend we didnt start it before.
s.addEventLister(Event.SOUND_COMPLETE, onSComplete, false, 0, true);
function onSComplete(e:Event):void { var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible }
var soundRequest:URLRequest = "path/to/file.mp3";
var s:Sound = new Sound(soundRequest);
var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible number to flash.
//Above starts the sound immediatly (Streaming);

//Now to wait for completion instead, pretend we didnt start it before.
s.addEventLister(Event.SOUND_COMPLETE, onSComplete, false, 0, true);
function onSComplete(e:Event):void { var sChannel = s.play(0, int.MAX_VALUE); //Causes it to repeat by the highest possible }