我需要将AS3分配发布到博客。我的文件使用与fla和swf文件保存在同一目录中的四个mp3文件。当我测试电影&#34 ;;它在Adobe Animate CC中工作正常。但是当我把它发布到我的博客时,没有音乐可以听见。我假设这是因为音频文件可以在我的笔记本电脑上访问,但不能访问互联网。
任何人都知道如何解决这个问题?
这是我将笔记本电脑上的歌曲附加到我的fla文件的代码:
import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;
var v:Sound = new Sound();
v.addEventListener(Event.COMPLETE, onSoundLoaded4);
var req4:URLRequest = new URLRequest("excited.mp3");
v.load(req4);
function onSoundLoaded4(event:Event):void
{
var localSound4:Sound = event.target as Sound;
localSound4.play();
}
答案 0 :(得分:0)
你需要在ftp上传你的mp3文件。现在的问题是你应该在哪里上传。让我们举个例子
假设你有一个位于htdocs / assets / swf / music.swf的swf,以及一个从位于htdocs / music.html的html加载的swf。在这种情况下,您必须在htdocs目录中上传您的mp3。
一个复杂的例子,你的swf从一个目录加载mp3,例如mymusic / music.mp3,在这种情况下你的mp3必须上传到htdocs / mymusic / music.mp3。
所以mp3的所有路径必须相对于加载swf的html文件,而不是相对于swf位置的相对,除非你想直接在浏览器中加载swf而不使用html。
答案 1 :(得分:0)
作为替代解决方案,您可以将MP3声明为FLA的资源,将它们分配到SWF中,为它们分配类名(基类型为Sound
),然后创建这些类的实例而不是加载来自其他地方。缺点是您的SWF将变得更大。一个示例(FlashDevelop语法,用于演示通过代码嵌入。要嵌入Adobe Flash CS,请使用本机机制):
[Embed(source = '../../lib/intro.mp3')] // relative path from AS to MP3
private static const Intro:Class;
...
var intro:Sound=new Intro();
intro.play();