找回密碼
 註冊
搜索
查看: 3711|回復: 6

[教學] php播放聲音代碼

[複製鏈接]
發表於 2011-8-17 17:37:29 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
雖然Netscape和IE都支持音頻文件的播放,但在製作過程中還是遇到了這樣一個問題:   如果用隱藏方式播放則沒有聲卡的用戶要出錯,影響主頁的整體效果。編一個既便於用戶控制又能給頁面起到點綴作用的音頻播放器不失為一個好辦法。下面詳細介紹用JavaScript   自編音頻播放器的方法。   
  1.   Netscape的音頻播放器   
  1)直接打開   

  Netscape支持.mid、   .wav和.au等音頻文件格式,您可以在瀏覽器中直接打開上述文件,打開時出現如下圖的播放器窗口並自動播放一次,繼續播放可單擊「PLAY」按鈕。   

  2)程序調用   

  在主頁文件中您可以嵌入如下名為MySound的音頻控制台來實現隱藏方式下音頻文件的自動循環播放:   

  1.   <EMBED   SRC="jn.mid"//源文件名   

  2.   HIDDEN="TRUE"//隱藏方式   

  3.   AUTOSTART="TRUE"//自動播放   

  4.   LOOP="TRUE"//循環播放   

  5.   NAME="MySound"//嵌入對像名>   

  6.   </EMBED>
複製代碼


  2.   JavaScript的音頻支持函數   

  通過JavaScript的音頻支持函數,您可以控制任何一個嵌入在主頁中的音頻控制台。   JavaScript提供了如下的支持函數:   

  
play({loop[TRUE,FALSEoranINT]},′{url-to-sound}′)//播放   
  pause()//暫停   
  stop()//停止播放當前文件   
  StopAll()//停止播放所有文件   
  start-time({numberofseconds})   
  //從第幾秒開始   
  end-time({numberofseconds})   
  //到第幾秒結束   
  setvol({percentagenumber-without〞%〞sign})   
  //音量百分比控制   
  fade-to({volumepercentyouwishtofadeto-withoutthe〞%〞sign})//削減音量到   
  fade-from-to({volumepercentstartfade},{volumepercentendfade})   
  //從某個音量值削減到某個音量值   
  start-at-beginning()//從文件頭開始   
  stop-at-end()//到文件尾停止   
  下面四個是狀態測試函數   
  IsReady()//準備狀態測試   
  IsPlaying()//播放狀態測試   
  IsPaused()//暫停狀態測試   
  GetVolume()//獲取當前音量值   



  3.   應用舉例   

  下面是一個包含Netscape音頻播放器所有五個元素的例子。考慮到有些用戶沒有聲卡,本例中沒有設置自動播放。讀者可以根據自己的喜好結合鼠標事件將各個元素和測試函數都添加到圖形按鈕中。程序清單如下:   

  

  1. <HTML>   
  2. <HEAD>   
  3. <TITLE>音頻播放器</TITLE>   
  4. <SCRIPTLANGUAGE=JavaScript>   
  5. < !--Writer:YuHaiHe   
  6. functionplaySound(){   
  7.   document.firstSound.play(true);   
  8. }   
  9. functionpauseSound(){   
  10.   document.firstSound.pause();   
  11. }   

  12. functionstopSound(){   
  13.   document.firstSound.stop();   
  14. }   

  15. functionvolup(){   
  16.   currentVolume=document.firstSound.GetVolume();   
  17.   newVolume=(currentVolume+10);   
  18.   if(document.firstSound.GetVolume()==100){   
  19.     alert("音量已經達到最大值");   
  20.   }   
  21.   if(newVolume〈101){   
  22.     document.firstSound.setvol(newVolume);  
  23.   } else  {   
  24.     if((newVolume〈=100)&&(newVolume〉90)){   
  25.       document.firstSound.setvol(100);   
  26.     }   
  27.   }   
  28. }   
  29. functionvoldown(){   
  30.   currentVolume=document.firstSound.GetVolume();   
  31.   newvolume=(currentVolume-10);   
  32.   if(document.firstSound.GetVolume()==0){   
  33.     alert("音量已經達到最小值");   
  34.   }   
  35.   if(newVolume〉0){   
  36.     document.firstSound.setvol(newVolume);   
  37.   }else{   
  38.     if((newVolume〉=0)&&(newVolume〈10)){   document.firstSound.setvol(0);   
  39.     }   
  40.   }   
  41. }   
  42. //EndofJavaScriptCode-->   
  43. </SCRIPT>   
  44. </HEAD>   
  45. <BODY>   
  46.   <EMBED   SRC="ringin.wav"   HIDDEN="TRUE"   
  47.     AUTOSTART="FALSE"   LOOP="TRUE"
  48.     NAME="firstSound"   MASTERSOUND>   
  49.     < P><AHREF=〞javascript:playSound()〞>播放</A></P>   
  50.     < P><AHREF=〞javascript:pauseSound()〞>暫停</A></P>   
  51.     < P><AHREF=〞javascript:stopSound()〞>停止</A></P>   
  52.     < P><AHREF=〞javascript:volup()〞>音量+</A></P>   
  53.     < P><AHREF="javascript:voldown()">音量-</A></P>   
  54. < /BODY>   < /HTML>
複製代碼

 
發表於 2011-10-11 00:40:32 | 顯示全部樓層
謝謝哦  
版主招募中
發表於 2011-10-11 00:52:49 | 顯示全部樓層
支持一下吧  
發表於 2012-3-4 00:45:47 | 顯示全部樓層
自己知道了  
發表於 2012-3-4 00:55:55 | 顯示全部樓層
幫你頂,人還是厚道點好  
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-5-1 04:15 , Processed in 0.018595 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表