方法一:
在flasf cs3 里的liberty 有声音 可以是 mp3 wav 等,右键选 linkage 填入类名(我这里填BTNsound),然后将它拖到场景中,发布出来(我的命名是sound.swf),放到工程src文件夹里。在flex里新建一个类(我的Loadsound.as)代码如下:
package
{
public class Loadsound
{
[Embed(source="Sound.swf",symbol="BTNsound")]//按钮
public static var btnSound:Class;
}
}
然后在 mxml 里
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="init();" >
private var Sbtn:Sound = new Loadsound.btnSound() as Sound;//按钮声音
private var soundVol:SoundTransform = new SoundTransform();//音量
internal function init():void{
soundVol.volume = 1;
}
private function onClink():void{
Sbtn.play(0,0,soundVol);
}
<mx:Button x="129" y="397" label="Button" clink="onClink();"/>
OK!这种方式才是最简单的 最实用的!
方法二:
<mx:SoundEffect id="sound_effect" source="sound.mp3"
panFrom="-1" panTo="1" loops="1" volumeFrom = "1" volumeTo="0.1" duration="3000" useDuration="false"/>
<mx:Button x="44" y="181" label="Button" width="103" mouseDownEffect="{sound_effect}"/>
<mx:Text x="44" y="145" text="点击鼠标,播放音效" width="129"/>
-------------------------分析------------
1 注意<mx:SoundEffect的source定义了声音的来源,和一般的Effect的target属性不同。
2 注意<mx:Button的mouseDownEffect属性