1

我在 wordpress 网站上工作。在这个网站上,我需要在鼠标悬停时播放声音,一切都很好,但是出了点问题,我不知道为什么?

mouseover按下按钮时有延迟。

请查看链接http://barkingspiderheatre.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>

谁能告诉我如何消除鼠标悬停播放声音的延迟。

谢谢

4

1 回答 1

2

使用 html5 您可以audio api直接访问,您可以执行以下操作,而不是创建对象标签来播放声音:

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

希望能帮助到你。

于 2012-11-05T13:55:19.493 回答