资源描述
flash声音控制 加载库内文件
2007年09月03日 星期一 14:24
声音的一些属性与方法: ||精品数据论坛欢迎您的光临4p$q0W6R*c:O5Z-r*L
mySound=newSound();//新建一个声音对象,对象的名称是mySound。||精品数据论坛欢迎您的光临+A/q#y4t m-V4x!r
mySound.start(n);//开始在n秒播放声音,当n为空时,从开始播放。||精品数据论坛欢迎您的光临9D#E+z2v+{"]7m;w'p
mySound.stop();停止声音的播放。2E/L;K.w!B+p(n
音量控制:(范围从0-100)
*\+I$G.|4}(c精品数据论坛mySound.getVolume();获取当前的音量大小。||精品数据论坛欢迎您的光临
mySound.setVolume();设置当前音乐的音量。
(F Y*R:G*C4M._左/右均衡:(范围从-100到100)
8},d&w7[.|2z:mySound.getPan();获取左右均衡的值。
-b-q;g-_ T.d;h||精品数据论坛欢迎您的光临mySound.setPan();设置左右均衡的值。
3I;Q.l+C,W1k1I(E声道音量:
F8H8r+\4I8U9K(w5d||精品数据论坛欢迎您的光临mySound.getTransform();获取左右声音的音量。
4W0a0z2F;E:_||精品数据论坛欢迎您的光临mySound.setTransform();设置左右声道的音量。
*K4N(f0w9v(T:W;A1\(D||精品数据论坛欢迎您的光临
#V"H4h(x*] h读取声音: ||精品数据论坛欢迎您的光临5_(K!B0h3I!R+D
mySound.loadSound();从外部载入声音。
6S0Y3b$w-H)e&P-Y0d||精品数据论坛欢迎您的光临mySound.attachSound();从库中加载声音。精品数据论坛2W*z2N8v m,w!S$W8Y
mySound.getBytesLoaded();获取声音载入的字节数
7R8}-_/[;d&t!f"`||精品数据论坛欢迎您的光临mySound.getBytesTotal();获取声音的总字节数。
&_'q*p5e*s*]5L X&q8p||精品数据论坛欢迎您的光临1M8k/F%c!I"~,N a
声音对象的属性:
5d%i"U;{.G7k(L+a||精品数据论坛欢迎您的光临mySound.duration;声音的长度。||精品数据论坛欢迎您的光临(E6K0y'`&]8C%k.`
mySound.position;声音已播放的毫秒数。||精品数据论坛欢迎您的光临%f$h-D2S;m r,R
声音对象的函数:
1Q;K'p"a*^-w(j4{ W3EmySound.onLoad;声音载入时调用。||精品数据论坛欢迎您的光临 {5? I$w+m&w8M
mySound.onComplete;声音播放完成时调用。 %n5@5H%~5t4D
在对声音进行AS控制前,我们先将解声音一些基本属性的控制和flash所遇到的声音的问题。2E/w!C$N$b7i6P%\
一:声音类型的选择:||精品数据论坛欢迎您的光临0I$B9Q0d7v&w"e6~'@!|
一般情况下,我们习惯听MP3的音乐,如果我们要从外部加载声音的话,flash只支持MP3,其他的声音不允许被加载(不支持其他的声音)。但我们在誓时候却发现这个问题,使用mp3的声音导出的SWF文件是非常的大,而我们使用wav导出的文件却非常的小,为什么呢?因为mp3本身就是一种压缩格式,而我们的flash在导出声音的时候,也是压缩格式,好比一个被挤干了水的海绵,不能在从里面挤出水来。而wav则像是一块没被挤过的水的海绵,则他可以大幅度的压缩。所以,我们不需要从外部导入声音的时候,一定要使用WAV格式的声音,而在外部导入声音的时候一定要使用mp3格式的声音。但我们如果从内部导入声音,其导出也是压缩格式,所以,我们使用内部导出声音的时候,也要使用WAV格式声音文件!||精品数据论坛欢迎您的光临*C,R$[4N0\-C/e7Y
二:数据流与事件的区别7y5g*s+G%Y
我们导入到flash中一个声音文件,然后在帧中间插入该声音,然后将时间线放入到声音第一帧处,按下键盘的回车键。然后我们听到声音后在按下回车键,我们这时候能够看到,时间线停止运动了,但声音并没有停止。这是因为默认的声音同步是:事件。我们将下面的声音的事件换成数据流(Event换成Stream)在按我
,E%d/s6T#P!I-m+k1|(O%k&P8~||精品数据论坛欢迎您的光临
&U!z(C!k)Y&X5~ N i!m||精品数据论坛欢迎您的光临 们上面的操作,你会发现声音停止了。故我用自己的话总结:事件指的是声音从开始播放到停止为止结束。而数据流指的是将生音文件按帧分成每一块,然后在去按时间线的播放而播放。也就是说,我们如果不做AS的字幕与声音同步的话,那么我们就要按这种方法去插入字幕。具体方法在这里就不祥加解释了。为了加以说明声音的控制,我们将使用实际的例子来对声音进行控制
:u d(l4F(x2A/\*Z"L7N8k||精品数据论坛欢迎您的光临5J2v6s8P4y3b2E
打开库反选刚导入的声音||精品数据论坛欢迎您的光临"r5R2P7z%~'z
&n(U h5t9X9s0Z
在对话框中输入要为加载声音的名称:-v/p&Q,R7o0{'U,w4_4l
||精品数据论坛欢迎您的光临0V2b$a:?1P&a-_ R.y3~
||精品数据论坛欢迎您的光临$t7b2Y v,~(M0D9J7j%b
在动作面板中输入以下AS::r"P+i#z'o!I&\&s
"G"D#Y0~,?'[3F4G现在我们在测试的话,发现声音已经加载进来了!||精品数据论坛欢迎您的光临0M:^#G2J*I.}5].~
(下面这部分是我在家里写的,上面的这部分是在公司写的,公司的系统是2000,MX2004英文版本,家里的系统是XP,MX2004中文版本)
(k2B5R/?,V+q||精品数据论坛欢迎您的光临现在我们在主场景中做控制,在主场景中我们按下图进行设置,(两滚动条,属于影片剪辑,我们设置好主场景后,在来做这两个滚动条!)
9E x0q4g.})W8u5y精品数据论坛
/c7K+X4r!t$I精品数据论坛背景和文本安钮放入两层中,添加帧到第7帧。然后在添加一层写下如下脚本。(按钮事件加载外部声音)
$u/R3i-A/P&e||精品数据论坛欢迎您的光临
%F!L2S6\5Z4R||精品数据论坛欢迎您的光临第三帧中写入如下脚本:$^8l7J:]!Q
精品数据论坛&m/S6w:c4v,Z9C&w5p.c
第四帧写下如下脚本:
.{#e N9T,K||精品数据论坛欢迎您的光临
*u1a*o-d3G&t O||精品数据论坛欢迎您的光临
&m*Z-p4a ?"U3F第五帧写下如下脚本:
5E+_-r!g-I#\-L精品数据论坛||精品数据论坛欢迎您的光临*c4Q(n"E1a&t
第六帧写下如下脚本:
;k6Z2p(g1h||精品数据论坛欢迎您的光临
"N%f5]/M4R;z'a P||精品数据论坛欢迎您的光临第7帧写下如下脚本:||精品数据论坛欢迎您的光临7m7e&{4G;{!s:t!I#}0C9I7A
.u&\%i0T,I$W&\8@gotoAndPlay(6);
2@;o1w,k+\+l0E||精品数据论坛欢迎您的光临||精品数据论坛欢迎您的光临6b%F%`9P%y9T7Z5Q
每帧设置完成后,来设置控制声音音量和左右均衡的滚动条:
1p)D'Y5i$E5b6g4S精品数据论坛设置音量,主场景中将该影片剪辑命名为:sad ,滚动的小块是个影片剪辑命名为:sy,该影片剪辑中仅有一名称为sy的按钮。将sy影片剪辑定位好后,在as脚本中写如下代码:
"A5~8r9r9q(c
3S(Z%u"R.u/~8F&?||精品数据论坛欢迎您的光临_root.sad.sy.sy.onPress=function () {
9T1d!e3b!g,m||精品数据论坛欢迎您的光临_root.sad.sy.startDrag(false,0,_root.sad.sy._y,200,_root.sad.sy._y);//滚动滑块
"i4U&_1_"h+A5Y,V.[精品数据论坛}
(W+W,~'r!G"h7p*R||精品数据论坛欢迎您的光临_root.sad.sy.sy.onRelease=function () {
*a!X5r7E#{'S v!R&Q||精品数据论坛欢迎您的光临if (_root.shu==0) {//判断是内部加载还是外部加载||精品数据论坛欢迎您的光临-z6C8T'X9x)x6g-r$U4z
_root.mySound.setVolume((_root.sad.sy._x)/2)//设置音量||精品数据论坛欢迎您的光临"M'v;f%U&_2Q%]"T"?
} else {
#z0x5o8E!_root.ySound.setVolume((_root.sad.sy._x)/2)
!j#R1L1d6}:C&m||精品数据论坛欢迎您的光临}||精品数据论坛欢迎您的光临7T#C(_(}/q0P.q
stopDrag();//停止滚动1y3I9u#G0N3k4{ r
}9H k0W3R#q
||精品数据论坛欢迎您的光临3M-d$r#J5T1L%P7G/f#W*K!]
代码拷贝框
%y6{;L _8m,a||精品数据论坛欢迎您的光临
,G2v+j*J!l(n$T||精品数据论坛欢迎您的光临_root.sad.sy.sy.onPress=function () {
,[8?1H'O-_&M)I6X*W1]&k||精品数据论坛欢迎您的光临_root.sad.sy.startDrag(false,0,_root.sad.sy._y,200,_root.sad.sy._y);//滚动滑块
1J8Z/v,T2E1H5M5Y/P}
2y2l$C5r:i2{_root.sad.sy.sy.onRelease=function () {精品数据论坛*k,W/G/A7V
if (_root.shu==0) {//判断是内部加载还是外部加载精品数据论坛,P:c)M+c0@)V,~
_root.mySound.setVolume((_root.sad.sy._x)/2)//设置音量
8j,o,h#V8R6{3b(Q3G7v8]} else {精品数据论坛+s"M7W/e&w,V
_root.ySound.setVolume((_root.sad.sy._x)/2)
4l1c:C-Y&s"j/I&j2u精品数据论坛}||精品数据论坛欢迎您的光临)c+|"@$E*e1W(?
stopDrag();//停止滚动精品数据论坛9g't2^-C:G$b d
}||精品数据论坛欢迎您的光临3Z8f&s0N(W/]#L
x%N'F @$M-f u||精品数据论坛欢迎您的光临
+^2l4X!@#t-W&F1z||精品数据论坛欢迎您的光临[Ctrl+A 全部选择 然后拷贝]%N1D'O;j7Y0a7i
同样的道理设置好另外控制左右均衡的影片剪辑(_root.gd(影片剪辑名称).fgh(滑块名称).fsg(按钮名称).)
8h!C2A/\,\&t0c||精品数据论坛欢迎您的光临在gd中帧动作,设置脚本如下:精品数据论坛)]5b&J0H*k8z
||精品数据论坛欢迎您的光临!q K*t+[)?'?&}(l
_root.gd.fgh.fsg.onPress = function () {
"w%@4g E.s$?3D2G)C_root.gd.fgh.startDrag(false,0,_root.gd.fgh._y,200,_root.gd.fgh._y);//滚动滑块
:f:}*A-Q/E6o.N||精品数据论坛欢迎您的光临}$i4T2]$j+[4E&t
_root.gd.fgh.fsg.onRelease=function () {
8b)L#J1C"|%p+b8X)H:\2e精品数据论坛if (_root.shu==0) {//判断是内部加载还是外部加载||精品数据论坛欢迎您的光临8d,R'^,[*f%u2S&g"g
_root.mySound.setPan(_root.gd.fgh._x-100)//设置左右均衡值"S6@-J/e$I+?9c/R6S
} else {
/s4N1{;P8[||精品数据论坛欢迎您的光临_root.ySound.setPan(_root.gd.fgh._x-100)
*U2s7@#}+S:Y8v5i/?#}
9b(T.e:n3a精品数据论坛stopDrag();//停止滚动0~'R"?,c-D:|:D2g
}
)a"W!y/R;z!S:i!g!||精品数据论坛欢迎您的光临7~&@.W2t,W9j
代码拷贝框
.~8j _/u1\8P!~:D||精品数据论坛欢迎您的光临"A5I;_'U;C"t:m8r
_root.gd.fgh.fsg.onPress = function () {
#W,P5x&[1A-N||精品数据论坛欢迎您的光临_root.gd.fgh.startDrag(false,0,_root.gd.fgh._y,200,_root.gd.fgh._y);//滚动滑块
9y4n-`$z&n3h||精品数据论坛欢迎您的光临}||精品数据论坛欢迎您的光临&t%c.z*w+}
_root.gd.fgh.fsg.onRelease=function () {精品数据论坛1p6c%{*?:^1O(@
if (_root.shu==0) {//判断是内部加载还是外部加载
0J%V*d {5t;e:o7]精品数据论坛_root.mySound.setPan(_root.gd.fgh._x-100)//设置左右均衡值/a"h(P/t2`
} else {
,f.|2Y9q-g f2l;D9o精品数据论坛_root.ySound.setPan(_root.gd.fgh._x-100))`7\$~3_,\/w0x7W
}
1O#K:{+x!q3}stopDrag();//停止滚动"F$Y*h,e)Z/@3Q4v(q
} ,R)x u%q%N)C
展开阅读全文