Flash课件控制声音播放三法
发布者:cj_zgp 发布时间:2011-12-26 08:40:13 点击数:
Flash课件控制声音播放三法
在众多的多媒体课件制作软件中,Flash以其完善的媒体支持功能、功能强大的交互程序设计能力、强劲的兼容性和广阔的发展空间,深受众多老师们的喜爱。在Flash课件中,为了增强教学效果,更好地表达教学内容,通常会在制作课件时加入声音文件,而这些声音文件播放时能否自如的控制,则是令广大教师比较头疼的问题。在此,仅把个人的一些应用经验介绍给大家,希望能对老师们有所帮助。
一、影片剪辑控制法
步骤1:将声音文件导入到库中。执行【文件】|【导入】|【导入到库】命令,在弹出的对话框中找你要添加的声音文件然后打开。
步骤2:创建“声音”影片剪辑。执行【插入】|【新建元件】命令,创建一个元件,名称为“声音”,类型为“影片剪辑”,单击“确定”按钮,进入“声音”影片剪辑编辑状态。敲F11键打开库面板,将声音文件拖放在场景中,在时间轴上添加普通帧至音频结束。在属性面板上设置其【同步】为【数据流】。
步骤3:回到主场景,添加新图层,命名为声音。从库中拖出“声音”影片剪辑到场景中,在属性面板上设置其实例名为“mc”。
步骤4:新建一层,取名语句层,单击第一帧按,敲F9键打开动作面板,加语句:
_root.mc.stop();
步骤5:用按钮来控制声音的播放和停止。再新建一层,取名按钮层,执行【窗口】|【其他面板】|【公用库】|【按钮】命令,从公用库中拖出两个按钮(播放按钮和停止按钮),放在场景中。
选中场景中的播放按钮,打开动作面板加语句:
on (press) { //鼠标单击按扭后
_root.mc.play(); //声音 mc播放
}
再选中停止按钮,加语句:
on (press) { //鼠标单击按扭后
_root.mc.stop(); //声音 mc停止
}
也可以用一个按钮来控制声音的播放和停止,具体方法如下:
从公用库里拖一个按钮到按钮层,放在场景中的合适位置,然后选中此按钮,打开动作面板加如下语句:
on(press){ //鼠标单击按扭后
if (bofang==1) { //如果变量bofang等于1执行下面的动作
_root.mc.play(); // 声音 mc播放
bofang = 0 //赋 0 给变量 bofang
} else { //否则执行下面的动作
_root.mc.stop(); //声音 mc停止
bofang=1 //赋予 1 给变量 bofang
}
}
二、链接控制法
步骤1:将声音文件导入到“库”中。右击“库”中的声音对象,在弹出的快捷菜单中选择“链接”命令,打开“链接属性”对话框,勾选“为动作脚本导出”和“在第一帧导出”复选项,设置标识符为“yin”。
步骤2:在第1帧上添加如下脚本:
mySheng = new Sound(); //建立一个名为 mySheng的声音对象
mySheng.attachSound("yin"); //将链接标识符为yin的音乐捆绑到 mySheng对象上
步骤3:用按钮来控制声音的播放和停止。
在播放按钮上添加如下脚本:
on (press) { //鼠标单击按扭后
mySheng.start(); //声音开始播放
}
在停止按钮上添加如下脚本:
on (press) { //鼠标单击按扭后
mySheng.stop(); //声音停止
}
用一个按钮来控制声音的播放和停止的方法:
在按钮上添加如下脚本:
on (release) { //鼠标单击按钮并释放后
k = k+1; //变量k递增
if (k%==1) { //当k是奇数时
mySheng.start(); //开始播放声音
} else { //否则(可以认为当k不是奇数时)
mySheng.stop(); //声音停止
}
}
注:k是一个变量名,参加运算的变量,这里用来代表点击按钮的次数。当然,先得给变量一个初始值,那我们会发现k的初始值我们还没有给出,所以单击语句层的第一帧,在原有语句的基础上加一条:k=0;那么此时第一帧上的语句应该是:
mySheng= new Sound();
mySheng.attachSound("yin");
k = 0;
三、外部文件调用控制法
步骤1:准备一文件名为yin.mp3的声音文件,将它放在课件文件的同一个文件夹下。
步骤2:在Flash课件中,添加播放按钮,在这个按钮上添加脚本:
on (release) { //鼠标单击按扭并释放后
mySheng = new Sound(); //建立一个名为mySheng的声音对象
mySheng.stop(); //先让声音不播放;
mySheng.loadSound("yin.mp3", false); //加载文件名为 yin.mp3 的外部声音文件到 mySheng 对象中。第二个参数决定是以“事件”方式载入还是以“数据流”方式载入。如果为 true,则使用数据流方式载入,只要载入的音乐数据足够启动解码器,声音就会自动播放;如果参数为 false,则是事件方式,只有在音乐文件全部载入后才能够使用 start()进行播放。这里采用事件方式。
mySheng.start(); //声音开始播放;
}
步骤3:再做一个按钮用来控制声音的停止,在这个按钮上添加脚本:
on (release) { //鼠标单击按扭并释放后
mySheng.stop(); //停止声音播放
}
也可以用一个按钮来控制声音的播放和停止,有兴趣的话,朋友们可以试一试。
以上只是笔者在应用中的一些心得,声音控制的内容还很多,这需要大家多用、多练、认真体会,在多次试验之后,你会在发现问题之中,学会解决问题,这样学到的知识会令你终生难忘。