Flash声音控制教程

声音的一些属性与方法:

mySound=newSound();//新建一个声音对象,对象的名称是mySound。
mySound.start(n);//开始在n秒播放声音,当n为空时,从开始播放。
mySound.stop();停止声音的播放。

音量控制:(范围从0-100)

mySound.getVolume();获取当前的音量大小。
mySound.setVolume();设置当前音乐的音量。

左/右均衡:(范围从-100到100)

mySound.getPan();获取左右均衡的值。
mySound.setPan();设置左右均衡的值。

声道音量:

mySound.getTransform();获取左右声音的音量。
mySound.setTransform();设置左右声道的音量。

读取声音:

mySound.loadSound();从外部载入声音。
mySound.attachSound();从库中加载声音。
mySound.getBytesLoaded();获取声音载入的字节数
mySound.getBytesTotal();获取声音的总字节数。

声音对象的属性:

mySound.duration;声音的长度。
mySound.position;声音已播放的毫秒数。

声音对象的函数:

mySound.onLoad;声音载入时调用。
mySound.onComplete;声音播放完成时调用。

在对声音进行AS控制前,我们先将解声音一些基本属性的控制和flash所遇到的声音的问题。

一:声音类型的选择:
一般情况下,我们习惯听MP3的音乐,如果我们要从外部加载声音的话,flash只支持MP3,其他的声音不允许被加载(不支持其他的声音)。但我们在使用的时候却发现这个问题,使用mp3的声音导出的SWF文件是非常的大,而我们使用wav导出的文件却非常的小,为什么呢?因为mp3本身就是一种压缩格式,而我们的flash在导出声音的时候,也是压缩格式,好比一个被挤干了水的海绵,不能在从里面挤出水来。而wav则像是一块没被挤过的水的海绵,则他可以大幅度的压缩。所以,我们不需要从外部导入声音的时候,一定要使用WAV格式的声音,而在外部导入声音的时候一定要使用mp3格式的声音。但我们如果从内部导入声音,其导出也是压缩格式,所以,我们使用内部导出声音的时候,也要使用WAV格式声音文件!

二:数据流与事件的区别
我们导入到flash中一个声音文件,然后在帧中间插入该声音,然后将时间线放入到声音第一帧处,按下键盘的回车键。然后我们听到声音后在按下回车键,我们这时候能够看到,时间线停止运动了,但声音并没有停止。这是因为默认的声音同步是:事件。我们将下面的声音的事件换成数据流(Event换成Stream)在按我

们上面的操作,你会发现声音停止了。故我用自己的话总结:事件指的是声音从开始播放到停止为止结束。而数据流指的是将生音文件按帧分成每一块,然后在去按时间线的播放而播放。也就是说,我们如果不做AS的字幕与声音同步的话,那么我们就要按这种方法去插入字幕。具体方法在这里就不祥加解释了。为了加以说明声音的控制,我们将使用实际的例子来对声音进行控制

打开库反选刚导入的声音

在对话框中输入要为加载声音的名称:


在动作面板中输入以下AS:

现在我们在测试的话,发现声音已经加载进来了!

现在我们在主场景中做控制,在主场景中我们按下图进行设置,(两滚动条,属于影片剪辑,我们设置好主场景后,在来做这两个滚动条!)

背景和文本安钮放入两层中,添加帧到第7帧。然后在添加一层写下如下脚本。(按钮事件加载外部声音)

第三帧中写入如下脚本:

 第四帧写下如下脚本:

第五帧写下如下脚本:

第六帧写下如下脚本:

第7帧写下如下脚本:

gotoAndPlay(6);

每帧设置完成后,来设置控制声音音量和左右均衡的滚动条:
设置音量,主场景中将该影片剪辑命名为:sad ,滚动的小块是个影片剪辑命名为:sy,该影片剪辑中仅有一名称为sy的按钮。将sy影片剪辑定位好后,在as脚本中写如下代码:

_root.sad.sy.sy.onPress=function () {
_root.sad.sy.startDrag(false,0,_root.sad.sy._y,200,_root.sad.sy._y);//滚动滑块
}
_root.sad.sy.sy.onRelease=function () {
if (_root.shu==0) {//判断是内部加载还是外部加载
_root.mySound.setVolume((_root.sad.sy._x)/2)//设置音量
} else {
_root.ySound.setVolume((_root.sad.sy._x)/2)
}
stopDrag();//停止滚动
}

代码拷贝框

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值