对于大多数浏览器,啥技巧会在浏览器窗口中提供最可靠/兼容的声音警报

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);
...

【讨论】:

以上是关于对于大多数浏览器,啥技巧会在浏览器窗口中提供最可靠/兼容的声音警报的主要内容,如果未能解决你的问题,请参考以下文章

UDP和TCP有啥区别

前端开发对于Chrome DevTools 11个优化技巧你知道多少?

程序员必需知道的Chrome使用技巧(入门篇)

抓包教程详解

哪种网络推送通知最可靠的技术? [关闭]

Win10都有啥版本,win10各版本有啥区别