Javascript 将鼠标悬停在html按钮上播放音频(mp3)

Javascript 将鼠标悬停在html按钮上播放音频(mp3),javascript,html,audio,mp3,Javascript,Html,Audio,Mp3,几年前,我写了一些html页面来显示但丁的Divina Commedia,并播放包含相关评论和实际阅读的音频文件 这个项目似乎经历了一次严重的失败 音频不再工作,格式也不好 项目相当大(主要是由于音频文件,但页面也不平凡) 由于我不是一名web程序员(我主要是一名C/C++/Java程序员),在尝试修改此代码之前,我希望得到一些建议 核心部分是以下javascript(为了简洁,我可以发送整个内容,如果有用的话): 函数writeTable(){ 文件。写(“”, ' ', ' ');

几年前,我写了一些html页面来显示但丁的Divina Commedia,并播放包含相关评论和实际阅读的音频文件

这个项目似乎经历了一次严重的失败

音频不再工作,格式也不好

项目相当大(主要是由于音频文件,但页面也不平凡)

由于我不是一名web程序员(我主要是一名C/C++/Java程序员),在尝试修改此代码之前,我希望得到一些建议

核心部分是以下javascript(为了简洁,我可以发送整个内容,如果有用的话):

函数writeTable(){
文件。写(“”,
'  ',
'    ');
条件参数(真);
文件。写(“”,
'        ',
'      ');
条件参数(假);
文件。写(“”,
'    ');
条件参数(真);
文件。写(“”,
'        ',
'      ');
条件参数(假);
文件。写(“”,
'    ',
'       ',
'    ',
'  ',
'  ',
'    ');
条件参数(真);
文件。写(“”,
'        ',
'      ');
条件参数(假);
文件。写(“”,
'  ',
'  ',
'    ');
条件参数(真);
文件。写(“”,
'        ',
'      ');
条件参数(假);
文件。写(“”,
'  ',
'');
}
var=0;
函数playC(b){
如果(b)
如果(navigator.family==“壁虎”)
文件.音频评论.播放(假);
其他的
document.audioCommento.Play();
其他的
document.audioCommento.Stop();
}
功能播放(b){
如果(b)
如果(navigator.family==“壁虎”)
文件.音频播放(假);
其他的
document.audioLettura.Play();
其他的
document.audioLettura.Stop();
}
函数commentoOver(){
如果(播放==0){
document.foto.src=“../../img/sermonti_vittorio.jpg”;
顶部框架[“pagina”].playC(真);
}
}
函数letturaOver(){
如果(播放==0){
document.foto.src=“../../img/dante_alighieri.jpg”;
顶部框架[“pagina”].playL(真);
}
}
函数commentoOut(){
如果(播放==0){
顶部框架[“pagina”].playC(假);
}
}
函数letturaOut(){
如果(播放==0){
顶部框架[“pagina”].playL(假);
}
}
主要的问题是Firefox和Chrome我没有听到任何声音,无论是在生成的按钮上悬停还是点击它们,而IE的两个音频文件(commento和lettura)都会立即启动,并且无法停止它们

小问题是生成的带有按钮的表没有“打包”(即:按钮之间有虚假的垂直空间,这在几年前是不存在的)

有人能提出一个简单的解决办法吗? 在没有这样的情况下:目前实现这种效果(并防止进一步的钻头腐烂)的最佳实践是什么

我想我一直在使用一些非标准的财产,这些年来发生了变化;有人能确认一下吗

短暂性脑缺血发作
Mauro

并非所有浏览器都支持相同的音频文件格式。看一看。 基本原则:

Browser MP3 Wav Ogg
IE      YES NO  NO
Chrome  YES YES YES
Firefox NO  YES YES
Update: Firefox 21 running on Windows 7, Windows 8, Windows Vista, and Android now supports MP3 
Safari  YES YES NO
Opera   NO  YES YES

不过,您可以看一看,它非常容易地解释了如何使用CSS在hover上播放音频。

我有一套大的.mp3(目前无法转换为.ogg,拥有两个版本是绝对不可能的)。我不清楚这篇文章中解释的技术是否适用于我的案例;你能确认一下吗?它似乎适用于短的“哔哔声”,而不是播放可能暂停和恢复的长讲话。嗯,有一个叫做的网站,通过流媒体播放音乐。您的一个可能选项是,您可以将其转换为flash格式,以便在不考虑浏览器的情况下播放内容。另一件需要注意的事情是,从UI/UX的角度来看,播放相当长的音频“onhover”可能不是一个好的用户体验。但无论如何,即使你想这么做,may flash也是你的选择。这样,流媒体也将节省最终用户完全等待音频加载然后播放的时间。像Youtube等。我安装的浏览器的最新版本似乎都支持.mp3。简单地切换到HTML5标签解决了我的问题。我甚至不需要使用内部标签;使用“src”属性就足够了。
Browser MP3 Wav Ogg
IE      YES NO  NO
Chrome  YES YES YES
Firefox NO  YES YES
Update: Firefox 21 running on Windows 7, Windows 8, Windows Vista, and Android now supports MP3 
Safari  YES YES NO
Opera   NO  YES YES