加载外部声音文件,我们一般使用sound对象的loadSound()方法。它可以分为两种形式,一种是下载播放的方式,一种是流式播放的方式。
流式播放的方式如下:
var my_sound:Sound=new Sound()
my_sound.loadSound("隐形的翅膀.mp3",true)
使用方法:
(1)新建flash文档,选中时间线的第一帧,输入代码:
测试影片即可听到声音自动播放,但它需要将flash文档与声音文件保存在同一目录
下。如果不保存在同一目录下,你可以输入具体的路径。如:
如果你想通过单击某个按钮然后才播放,可以在场景中放一个按钮,选中该按钮打开
动作面板输入代码:
下载播放方式:
var my_sound:Sound=new Sound()
my_sound.loadSound("隐形的翅膀.mp3",fasle)
使用流式播放方式,声音会自动播放,而使用下载播放方式,声音不会自动播放,需要确认声音文件下载完成后,为它指定动作后才能播放。主要是通过onLoad事件来凑数它是否下载完全了。
代码基本结构是:
var my_sound:Sound = new Sound();
my_sound.onLoad = function() {
//action
};
my_sound.loadSound("隐形的翅膀.mp3",false)
如我们人要在时间线上加入以下代码,就可以下载播放同一目录下的声音文件“隐形的翅膀.mp3”了。
加载外部多首mp3连续播放:
如外部有3首mp3格式的声音文件,1.mp3、2.mp3、3.mp3,我们希望它加载进来后播放第一首结束后继续播放第2首第3首。它的实现也很简单,选中时间线的第一帧,打开动作面板,输入以下代码:
需要注意的是flash文档与声音文件必须保存在同一目录下。
加载外部声音文件,还有一种比较简单的方法,那就是运用medaplayback组件进行加载,并可以进行播放控制。
(1)将medaplayback组件拖入舞台中,并取实例名称为“jiazhai”。
(2)新建图层2,为代码层,选中第二层第一帧,打开动作面板,输入以下代码:
(3)点选舞台上的jiazhai组件,然后点“参数”“启动组件检查器”,在弹出的面板中选择“mp3”选项,然后关闭即可。
(4)将swf文件保存在与“醉西楼.mp3”在同一目录下。测试影片即可。
说明:“醉西楼.mp3”是指要加载的外部mp3格式文件。“jiazhai.setMedia("醉西楼.mp3","MP3")”中,要注意文件格式要大写,即“MP3”。
还有一种方法,同样是使用medaplayback组件进行加载并播放,但是可以设置具体的路径,并可以实现连续播放:
(1)将medaplayback组件拖入场景中,并在场景中选中该组件,打开属性面板,“启动组件检查器”,在弹出的组件检查器中,选择“mp3”,在“uRL”处输入mp3的具体路径如“F:/醉西楼.mp3”,并勾选“on”选项。
(2)此时测试影片,我们发现可以自动播放F盘下的“醉西楼.mp3”文件了,但它只播放一次就结束,不能连续播放。要实现连续播放,我们必须使用代码控制:选中场景中的组件给它取实例名称为musicplayer,在帧上输入以下代码:
myListener = new Object();
myListener.complete = function() {
musicplayer.stop();
musicplayer.play();
};
musicplayer.addEventListener("complete", myListener);
测试影片,就可以实现连续播放了。