声音在鼠标悬停 mp3、Wordpress 上播放延迟

Posted

技术标签:

【中文标题】声音在鼠标悬停 mp3、Wordpress 上播放延迟【英文标题】:sounds play with delay on mouseover mp3, Wordpress 【发布时间】:2012-11-05 13:49:19 【问题描述】:

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

mouseover在按钮上有延迟。

请查看链接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"  >'
        +'<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>

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

谢谢

【问题讨论】:

【参考方案1】:

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

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

希望对你有帮助。

【讨论】:

感谢您的快速回复。但我对 html5 不友好。你能解释一下吗?我该如何使用这个例子。 已更新为您的函数名称。保持您的 html 部分原样,并尝试上面的 javascript 函数代替您的 doPlay 感谢@Samita。我可以使用 mp3 文件吗?我使用此代码,但什么也没发生。你知道问题出在哪里吗? 我使用 wav 文件。它为此工作。但是在 mousout 上我如何使用停止功能? 如果你保持这个声音对象全局,那么我相信你可以使用 snd.pause() 来停止它。

以上是关于声音在鼠标悬停 mp3、Wordpress 上播放延迟的主要内容,如果未能解决你的问题,请参考以下文章

鼠标悬停播放声音

在悬停时播放精选视频

HTML:鼠标悬停或单击时播放声音

将鼠标悬停在图像上时的音频

悬停时播放音频文件(鼠标悬停时停止播放)

悬停时播放 JQuery 菜单声音