在首頁(yè)中編制音頻播放器
發(fā)表時(shí)間:2023-07-20 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]雖然Netscape和IE都支持音頻文件的播放,但在制作過(guò)程中還是遇到了這樣一個(gè)問(wèn)題: 如果用隱藏方式播放則沒(méi)有聲卡的用戶(hù)要出錯(cuò),影響主頁(yè)的整體效果。編一個(gè)既便于用戶(hù)控制又能給頁(yè)面起到點(diǎn)綴作用的音頻...
雖然Netscape和IE都支持音頻文件的播放,但在制作過(guò)程中還是遇到了這樣一個(gè)問(wèn)題: 如果用隱藏方式播放則沒(méi)有聲卡的用戶(hù)要出錯(cuò),影響主頁(yè)的整體效果。編一個(gè)既便于用戶(hù)控制又能給頁(yè)面起到點(diǎn)綴作用的音頻播放器不失為一個(gè)好辦法。下面詳細(xì)介紹用JavaScript 自編音頻播放器的方法。
1. Netscape的音頻播放器
1)直接打開(kāi)
Netscape支持.mid、 .wav和.au等音頻文件格式,您可以在瀏覽器中直接打開(kāi)上述文件,打開(kāi)時(shí)出現(xiàn)如下圖的播放器窗口并自動(dòng)播放一次,繼續(xù)播放可單擊“PLAY”按鈕。
2)程序調(diào)用
在主頁(yè)文件中您可以嵌入如下名為MySound的音頻控制臺(tái)來(lái)實(shí)現(xiàn)隱藏方式下音頻文件的自動(dòng)循環(huán)播放:
〈EMBED SRC=″jn.mid″//源文件名
HIDDEN=″TRUE″//隱藏方式
AUTOSTART=″TRUE″//自動(dòng)播放
LOOP=″TRUE″//循環(huán)播放
NAME=″MySound″//嵌入對(duì)象名
〈/EMBED〉
2. JavaScript的音頻支持函數(shù)
通過(guò)JavaScript的音頻支持函數(shù),您可以控制任何一個(gè)嵌入在主頁(yè)中的音頻控制臺(tái)。 JavaScript提供了如下的支持函數(shù):
play({loop[TRUE,F(xiàn)ALSEoranINT]},′{url-to-sound}′)//播放
pause()//暫停
stop()//停止播放當(dāng)前文件
StopAll()//停止播放所有文件
start-time({numberofseconds})
//從第幾秒開(kāi)始
end-time({numberofseconds})
//到第幾秒結(jié)束
setvol({percentagenumber-without″%″sign})
//音量百分比控制
fade-to({volumepercentyouwishtofadeto-withoutthe″%″sign})//削減音量到
fade-from-to({volumepercentstartfade},{volumepercentendfade})
//從某個(gè)音量值削減到某個(gè)音量值
start-at-beginning()//從文件頭開(kāi)始
stop-at-end()//到文件尾停止
下面四個(gè)是狀態(tài)測(cè)試函數(shù)
IsReady()//準(zhǔn)備狀態(tài)測(cè)試
IsPlaying()//播放狀態(tài)測(cè)試
IsPaused()//暫停狀態(tài)測(cè)試
GetVolume()//獲取當(dāng)前音量值
3. 應(yīng)用舉例
下面是一個(gè)包含Netscape音頻播放器所有五個(gè)元素的例子?紤]到有些用戶(hù)沒(méi)有聲卡,本例中沒(méi)有設(shè)置自動(dòng)播放。讀者可以根據(jù)自己的喜好結(jié)合鼠標(biāo)事件將各個(gè)元素和測(cè)試函數(shù)都添加到圖形按鈕中。程序清單如下:
〈 HTML〉
〈 HEAD〉
〈 TITLE〉音頻播放器〈/TITLE〉
〈 SCRIPTLANGUAGE=JavaScript〉
〈 !--Writer:YuHaiHe
functionplaySound(){
document.firstSound.play(true);
}
functionpauseSound(){
document.firstSound.pause();
}
functionstopSound(){
document.firstSound.stop();
}
functionvolup(){
currentVolume=document.firstSound.GetVolume();
newVolume=(currentVolume+10);
if(document.firstSound.GetVolume()==100){
alert(″音量已經(jīng)達(dá)到最大值″);
}
if(newVolume〈101){
document.firstSound.setvol(newVolume); }
else
{
if((newVolume〈=100)&&(newVolume〉90)){
document.firstSound.setvol(100);
} }
}
functionvoldown(){
currentVolume=document.firstSound.GetVolume();
newvolume=(currentVolume-10);
if(document.firstSound.GetVolume()==0){
alert(″音量已經(jīng)達(dá)到最小值″);
}
if(newVolume〉0){
document.firstSound.setvol(newVolume); }
else {
if((newVolume〉=0)&&(newVolume〈10)){ document.firstSound.setvol(0); } } }
//EndofJavaScriptCode--〉
〈 /SCRIPT〉 〈 /HEAD〉
〈 BODY〉
〈 EMBED SRC=″JN.MID″ HIDDEN=TRUE
AUTOSTART=″FALSE″ LOOP=″TRUE″
NAME=″firstSound″ MASTERSOUND〉
〈 P〉〈 AHREF=″
javascript:playSound()″〉播放〈 /A〉〈 /P〉
〈 P〉〈 AHREF=″
javascript:pauseSound()″〉暫! /A〉〈 /P〉
〈 P〉〈 AHREF=″
javascript:stopSound()″〉停止〈 /A〉〈 /P〉
〈 P〉〈 AHREF=″
javascript:volup()″〉音量+〈 /A〉〈 /P〉
〈 P〉〈 AHREF=″
javascript:voldown()″〉音量-〈 /A〉〈 /P〉
〈 /BODY〉 〈 /HTML〉