在鼠标悬停上播放随机曲目

在鼠标悬停上播放随机曲目

问题描述:

我的网页上有一个固定图像,我希望它在鼠标悬停播放时播放随机音轨。这可能是5首曲目中的1首。在鼠标悬停上播放随机曲目

这是我的HTML <img src="images/Airplane.png" class="Airplane-photo">

这是我的CSS

.Airplane-photo { 
    position: fixed; 
    z-index: 1; 
    height: 200px; 
    bottom: 0px; 
    right: 0px; 
} 

我所有的曲目都是MP3和OGG。我已阅读本指南,但它不能帮助我满足需求:https://css-tricks.com/play-sound-on-hover/

有谁知道这是否可能?

在此先感谢

+2

其中是播放音频的代码? – Saksham 2015-04-02 11:10:54

+0

是的,这是可能的,但你需要JavaScript来做你想做的事。 @Marius回答我的看法很好。 – RikyTres 2015-04-02 12:12:58

http://jsbin.com/fiyomafuce/2/edit

你让你的MP3/OGG路径就像一个数组:

var audio = ["audio-1.mp3", "audio-2.mp3", "audio-3.mp3", "audio-4.mp3", "audio-5.mp3"]; 

该函数返回一个随机数从0到5,其中5是audio.length所以没有必要更新,如果你有更多的mp3

function getRandomAudio() { 
    var max = audio.length; 
    return Math.floor(Math.random() * (max + 1)); 
} 

当光标位于按钮上时,音频元素将将其来源更改为音频阵列中的新项目。

$btn.on('mouseover', function(){ 
    var index = getRandomAudio(); // random index 
    $audio.attr('src', audio[index]); // change src 
    $audio.get(0).play(); 
}); 

如果你想停止发声时,其按钮外,你可以简单地调用鼠标移开功能,这样

$btn.on('mouseout', function() { $audio.get(0).pause() }); 

PS也。当然你不会听到任何声音,因为路径不是真实的。

+0

谢谢你,马吕斯。 我试过实现它,虽然它似乎并不想工作 我已将所有声音文件存储在名为sound的文件夹中。这是代码 var audio = [“sound/audio1.mp3”,“sound/audio2.mp3”,“sound/audio3.mp3”,“sound/audio4.mp3”,“sound/audio5.mp3” ,“sound/audio6.mp3”]; var $ btn = $('button'); var $ audio = $('audio'); (){ var max = audio.length;返回Math.floor(Math.random()*(max + 1)); } $ btn.on( '鼠标悬停',函数(){ VAR指数= getRandomAudio(); $ audio.attr( '声音/',音频[指数]); $ audio.get(0) .play(); }); – StackUser2014 2015-04-02 12:21:09

+0

顺便说一句,你有没有在你的HTML中添加? – Marius 2015-04-02 12:23:59

+0

也许给音频添加一个ID,如