当用户将鼠标悬停在我的一个列表项按钮上时,是否可以使用 HTML5 发出声音?当用户将鼠标悬停在导航按钮上时,我想播放一个非常短的点击/啁啾声。我意识到它不会在每个浏览器或设备上都兼容,只要它优雅地降级就可以了。出于某种原因使用 Flash 会更好吗?
编辑
另外,如果可以做到这一点,我会对一些示例代码感兴趣,包括 javascript(如果需要 javascript)。我对 HTML 没问题,但对 Javascript 不太方便。
当用户将鼠标悬停在我的一个列表项按钮上时,是否可以使用 HTML5 发出声音?当用户将鼠标悬停在导航按钮上时,我想播放一个非常短的点击/啁啾声。我意识到它不会在每个浏览器或设备上都兼容,只要它优雅地降级就可以了。出于某种原因使用 Flash 会更好吗?
编辑
另外,如果可以做到这一点,我会对一些示例代码感兴趣,包括 javascript(如果需要 javascript)。我对 HTML 没问题,但对 Javascript 不太方便。
我没有做过这样的事情,但它应该是可能的。例如
<audio id="myaudio" src="myaudio.mp3"></audio>
<button onmouseover="document.getElementById('myaudio').play()">Hover me</button>
我对 Flash 不熟悉,所以我不确定您是否可以使用 JavaScript 来获取要播放的 Flash 文件。
这是一个旧答案,现在你真的可以使用 HTML5。
我不建议在悬停时发出声音。用户很容易生气(我愿意)。
无论如何,这就是方法,它不需要 HTML5:
<script>
function EvalSound(soundobj) {
var thissound=document.getElementById(soundobj);
try {
thissound.Play(); //Quicktime, Windows Media Player, etc.
}
catch (e) {
thissound.DoPlay(); //Real Player
}
}
</script>
<embed src="mysound.wav"
autostart=false
width=0
height=0
id="mySound"
enablejavascript="true" />
<ul id="myList">
<li onHover="EvalSound('mySound')">Foo</li>
<li onHover="EvalSound('mySound')">Bar</li>
</ul>
<script>
$(document).ready(function() {
$('#myList').hover(EvalSound('mySound'));
});
</script>
编辑因为 realplayer 使用DoPlay()
而不是Play()
.