若要在运行时加载 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
事件处理函数。此事件处理函数自动接收一个布尔值(true
或 false
),该值指示文件是否成功下载。
例如,假设您正在创建一个联机游戏,该游戏根据用户到达游戏中的不同级别使用不同的声音。以下代码将 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。