一般我們控制聲音的播放、暫停都是先把導(dǎo)入聲音定義為stream的方式來(lái)實(shí)現(xiàn)的。這里介紹一下用Sound對(duì)象來(lái)實(shí)現(xiàn)的方法:
1、導(dǎo)入聲音文件,例子中用Windows中的“Windows Logon Sound.wav”
2、打開(kāi)library右鍵點(diǎn)導(dǎo)入的聲音,選Linkage,在對(duì)話(huà)框中勾上Export for ActionScript,其他可以照默認(rèn)的不用改。
3、在第一幀寫(xiě)如下AS:
song=new Sound(); //定義一個(gè)名為song的聲音對(duì)象
song.attachSound("Windows Logon Sound.wav");//綁定聲音對(duì)象為Windows Logon Sound.wav,此處引號(hào)內(nèi)就是在2中對(duì)話(huà)框中設(shè)置的Identifier。
play_status = false;//用于檢測(cè)是否在播放中,防止重復(fù)播放
song.onSoundComplete = function() { //播放結(jié)束則觸發(fā)的事件
sp = 0;
play_status = false;
};
4、建立3個(gè)BT:start、pause和stop以控制播放、暫停。
5、start的AS:
on (release) {
if (play_status == false) { //如果沒(méi)有開(kāi)始播放
song.start(sp); //播放聲音,開(kāi)始時(shí)變量sp沒(méi)有賦值,默認(rèn)從頭開(kāi)始放,如果已經(jīng)賦值,則按相應(yīng)值播放,單位秒。
play_status = true; //播放狀態(tài)為真
}
}
6、pause的AS:
on (release) {
if (play_status == true) {
sp = song.position/1000;//在停止前獲取當(dāng)前播放的位置,單位是毫秒
song.stop();
play_status = false;
}
}
7、stop的AS:
on (release) {
if (play_status == true) {
sp = 0;
song.stop();
play_status = false;
}
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。