【问题标题】:sounds play with delay on mouseover mp3, Wordpress声音在鼠标悬停 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" 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>

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

谢谢

【问题讨论】:

    标签: javascript wordpress background-music


    【解决方案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() 来停止它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2016-12-20
    • 2012-06-20
    相关资源
    最近更新 更多