加载外部 MP3 文件

若要在运行时加载 MP3 文件,请使用 Sound 类的 loadSound() 方法。首先,创建一个 Sound 对象:

var song_1_sound = new Sound();

然后使用这个新对象调用 loadSound() 来加载事件或声音流。事件声音在完全加载之后播放;而声音流在它们下载的过程中播放。您可以设置 loadSound()isStreaming 参数来指定声音是事件声音还是声音流。在加载了事件声音之后,必须调用 Sound 类的 start() 方法来播放声音。当足够的数据加载到 SWF 文件中之后,声音流就会开始播放;不必使用 start()

例如,以下代码创建一个名为 classical 的 Sound 对象,然后加载一个名为 beethoven.mp3 的 MP3 文件:

var classical:Sound = new Sound();
classical.loadSound("http://server.com/mp3s/beethoven.mp3", true);

在大多数情况下,将 isStreaming 参数设置为 true,特别是当加载较大的需要及早开始播放的声音文件时(例如创建 MP3“自动唱片点唱机”应用程序时)。但是,如果要下载较短的声音剪辑并需要在特定时间(例如,当用户单击某个按钮时)播放它们,则将 isStreaming 设置为 false

若要确定声音何时下载完毕,请使用 Sound.onLoad 事件处理函数。此事件处理函数自动接收一个布尔值(truefalse),该值指示文件是否成功下载。

例如,假设您正在创建一个联机游戏,该游戏根据用户到达游戏中的不同级别使用不同的声音。以下代码将 MP3 文件 (blastoff.mp3) 加载到名为 gameSound 的 Sound 对象中,然后在完成下载时播放该声音:

var gameSound = new Sound();
gameSound.onLoad = function (loadedOK) {
  if(loadedOK) {
    gameSound.start();
  }
}
gameSound.loadSound("http://server.com/sounds/blastoff.mp3", false);

对于声音文件,Flash Player 仅支持 MP3 声音文件类型。

有关更多信息,请参见 Sound.loadSound()Sound.start()Sound.onLoad