对于大多数浏览器,啥技巧会在浏览器窗口中提供最可靠/兼容的声音警报
Posted
技术标签:
【中文标题】对于大多数浏览器,啥技巧会在浏览器窗口中提供最可靠/兼容的声音警报【英文标题】:What trick will give most reliable/compatible sound alarm in a browser window for most browsers对于大多数浏览器,什么技巧会在浏览器窗口中提供最可靠/兼容的声音警报 【发布时间】:2010-06-10 11:37:15 【问题描述】:我希望能够在浏览器窗口中使用 javascript 播放警报声音,最好需要任何浏览器插件(Quicktime/Flash)。我一直在用 Javascript 中的标签和新的 Audio 对象进行试验,但结果好坏参半:
如您所见,没有适用于所有浏览器的变体。
我是否错过了一个更能跨浏览器兼容的技巧?
这是我的代码:
// mp3 with Audio object
var snd = new Audio("/sounds/beep.mp3");snd.play();
// wav with Audio object
var snd = new Audio("/sounds/beep.wav");snd.play();
// mp3 with EMBED tag
$("#alarmsound").empty().append
('<embed src="/sounds/beep.mp3" autostart="true" loop="false" '+
'volume="100" hidden="true" />');
// wav with EMBED tag
$("#alarmsound").empty().append
('<embed src="/sounds/beep.wav" autostart="true" loop="false" '+
'volume="100" hidden="true" />');
【问题讨论】:
另外,Play 适用于任何版本的 Opera。 "Play" 不是我想要的,我需要从 Javascript 启动声音 我在读一些关于字符编码的书,也许有一个黑客可以提示系统哔哔声,只是一个想法.. 【参考方案1】:你试过html5's sound tag吗?
【讨论】:
【参考方案2】:感谢您的餐桌。我也有同样的问题。我不想使用任何闪存,但它必须在任何平台上工作。 HTML 5 仅受较新的浏览器支持,不能用作“全球”解决方案。仍然有太多人使用 IE 6 :-) 我使用 jQuery 的浏览器属性来管理不同的对象:
if ($.browser.mozilla || $.browser.opera)
var snd = new Audio("beep.wav"); snd.play();
...
if ($.browser.msie)
var soundPlayer = $("<embed src='scripts/beep.mp3' hidden='true' autostart='true' loop='false' />");
$("body").append(soundPlayer);
...
【讨论】:
以上是关于对于大多数浏览器,啥技巧会在浏览器窗口中提供最可靠/兼容的声音警报的主要内容,如果未能解决你的问题,请参考以下文章