明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

在首頁(yè)中編制音頻播放器

[摘要]雖然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〉