工具提示/悬停中的音频?

时间:2011-10-27 02:11:04

标签: javascript jquery audio tooltip

我想要包含在用户滚动时自动播放的音频。我还没有找到可以做到这一点的工具提示。有谁知道这样做的方法?

(注意:用户在访问该页面之前会收到有关音频的警告。)

更新

感谢Bakudan - ханювиги,我得到了这份工作。但使用Bakudan是否会出现闪回 - ханювиги的方法?谢谢!

更新2

使用Bakudan - ханювиги推荐的使用swfobject添加闪回后备的方法让我有点困惑。我缺乏javascript知识是我迷失的地方。这是我用于音频的代码:

    <script>

// Mouseover/ Click sound effect- by JavaScript Kit (www.javascriptkit.com)
// Visit JavaScript Kit at http://www.javascriptkit.com/ for full source code

var html5_audiotypes={ //define list of audio file extensions
"mp3": "audio/mpeg",
"ogg": "audio/ogg",
}

function createsoundbite(sound){
var html5audio=document.createElement('audio')
if (html5audio.canPlayType){ //check support for HTML5 audio
    for (var i=0; i<arguments.length; i++){
        var sourceel=document.createElement('source')
        sourceel.setAttribute('src', arguments[i])
        if (arguments[i].match(/\.(\w+)$/i))
            sourceel.setAttribute('type', html5_audiotypes[RegExp.$1])
        html5audio.appendChild(sourceel)
    }
    html5audio.load()
    html5audio.playclip=function(){
        html5audio.pause()
        html5audio.currentTime=0
        html5audio.play()
    }
    return html5audio
}
else{
    return {playclip:function(){throw new Error(
      "Your browser doesn't support HTML5 audio unfortunately")}}
}
}

//Initialize sound clips with 1 fallback file each:

var mouseoversound=createsoundbite(
   "/messages4u/2011/images/october/laugh.ogg",      
  "/messages4u/2011/images/october/laugh.mp3")

</script>

我将else更改为flash而不是错误消息。如何使用swfobject更改此内容以播放Flash音频文件?我有点失落。

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

This是一个好的开始。我做了demo。如果音频稍微长一些,请将stopclip函数添加到createsoundbite函数,然后将其添加到.mouseleave

编辑:

添加flash更改else部分。我对flash非常熟悉,但基本上使用以下之一:

  • create object - “document.createElement(”object“); ... etc”
  • 或者我认为最好使用swfobject

答案 1 :(得分:2)

这是一个在旧版浏览器中播放声音并且不需要闪光灯的版本:

var sound = document.createElement("audio");
if (!("src" in sound)) {
    sound = document.createElement("bgsound");
}
document.body.appendChild(sound);

function playSound(src) {
    sound.src = src;
    sound.play && sound.play();
}

...

playSound("/sounds/something.mp3");

编辑:当鼠标悬停在您的元素上时,这是一个使用.hover()播放声音的版本:

$(function) {
    var sound = document.createElement("audio");
    if (!("src" in sound)) {
        sound = document.createElement("bgsound");
    }
    document.body.appendChild(sound);

    $(".playable").hover(function() {
        sound.src = this.soundFile;
        sound.play && sound.play();
    }, function() {
        sound.src = "";
    });
});

使用“playable”类和自定义属性“soundFile”设置要播放声音的元素,其中包含声音文件的源url:

<span class="playable" soundFile="/sounds/something.mp3">Something</span>
<span class="playable" soundFile="/sounds/somethingElse.mp3">Something else</span>

答案 2 :(得分:0)