2012-11-05 164 views
1

我正在wordpress網站上工作。在這個網站我需要在鼠標懸停上播放聲音,一切都很好,但有些錯誤,我不知道爲什麼?按鈕上有mouseover有延遲。聲音播放延遲在mouseover mp3,Wordpress

請檢查鏈接http://barkingspidertheatre.com.au/new/

這裏是我的代碼

的JavaScript

function doPlay(what){ 
     document.getElementById('music').innerHTML='<object type="application/x-shockwave-flash" data="http://flash-mp3-player.net/medias/player_mp3_mini.swf?autoplay=1" width="200" height="20">' 
     +'<param name="movie" value="http://flash-mp3-player.net/medias/player_mp3_mini.swf?autoplay=1" />' 
     +'<param name="bgcolor" value="#000000" />' 
     +'<param name="autoplay" value="1" />' 
     +'<param name="FlashVars" value="mp3='+what+'" />' 
     +'</object>'; 
    } 
    function doStop(){ 
     document.getElementById('music').innerHTML=''; 
    } 

HTML

<a href="<?php bloginfo("url");?>/roving-butterflies-penelope-ulysses/?ajax=true&amp;width=108%&amp;height=105%" rel="prettyPhoto[ajax]" onMouseMove="javascript:doPlay('<?php bloginfo('template_url'); ?>/songs/Harp_gliss_wind_chimes_short_BLASTWAVEFX_15022.mp3')" onMouseOut="doStop();"> 


<div class="music_player" id="music"></div> 

任何人都可以告訴我,我怎樣才能消除mousover播放聲音的延遲。

感謝

回答

2

與HTML5,你可以直接訪問audio api,你可以這樣做的,而不是下面的播放聲音創建對象標籤:

function doPlay(what){ 
    var snd = new Audio(what); // buffers automatically when created so no delay 
    snd.play(); 
} 

希望它幫助。

+0

感謝您的快速回復。但我不喜歡html5。你能解釋一下嗎?我如何使用這個例子。 –

+0

已更新爲您的功能名稱。保持你的html部分不變,並嘗試使用上面的javascript函數代替你的'doPlay'。 – Smita

+0

謝謝@Samita。我可以使用mp3文件嗎?我使用這段代碼但沒有發生任何事你知道問題在哪裏嗎? –