2010-04-09 54 views

回答

1

瀏覽器對聲音的支持非常差,所以大部分時間只是爲了使聲音成爲可能。我會建議尋找一個MP3播放器,讓您建立自己的HTML界面。在這種情況下,你可以使用JS調用玩家的不同部分。然後,您需要爲每個鍵設置一個mp3文件,並在單擊某個鍵時播放正確的文件。這種工具的核心雖然是一個在背景中運行的閃存組件,可以播放聲音,但不必使用閃存顯示任何內容。

我建議使用jPlayer:

http://plugins.jquery.com/project/jPlayer

2

SoundManager2是構建JavaScript接口與聲音的好工具。

請記住,瀏覽器不提供本機聲音支持 - 這種功能只能通過插件提供。因此,SoundManager2的工作方式(或者我猜想的任何Javascript聲音庫)的方式是在頁面上創建一個不可見的Flash對象,並將其用作橋樑。

+0

瀏覽器與HTML 5的支持也可能通過音頻元素原生的聲音,和Firefox,Safari和其他人已經支持它,雖然它不會無疑需要一段時間的用戶羣都沾到這些當前的瀏覽器。 – 2010-04-09 18:24:16

0

事情是這樣的:

<img src="key.gif" onMouseOver="javascript:document.awav.play();"> 
<embed src="a.wav" hidden=true autostart=false name="awav" mastersound> 

在IE瀏覽器只能如果Windows Media Player是設置爲wav文件的默認播放器。

正如其他人所說的,沒有好的方法可以做到這一點,即跨瀏覽器兼容,無論設置什麼媒體播放器播放wav文件都可以工作。 Flash是一個更好的解決方案。

但是,你問了一個javascript解決方案,所以這就是我給的。

0

您可以使用soundmanager2。 Soundmanager負責處理跨瀏覽器兼容性問題,各種聲音格式問題。

<script src="soundmanager2.js"></script> 
<script> 
    function onReadyFunc() 
    { 
    var soundFile = {}; 
    soundFile.id = 'aSound'; 
    soundFile.url = '/tech/js/sound/s.mp3'; 
    var mySound = soundManager.createSound(soundFile); 
    return mySound; 
    } 
    soundManager.url = '/tech/js/sound/'; 
    mySound = soundManager.onready(onReadyFunc); 

    function onHover(){ mySound.play() }; 

在onMouseover事件上調用ohHover函數。