如何在网络浏览器上播放声音作为通知?
答案 0 :(得分:6)
您可以使用<audio>
标记结合JavaScript在给定时间播放声音。当然,你需要JavaScript,因为它是在前端完成的,因此也需要客户端编程。
例如,
<audio style="display: none;" id="notification" preload src="path/to/soundfile">
然后,对于脚本,将其放在脚本的任何需要声音通知的部分中:
document.getElementById('notification').play();
对于那些推荐在IE中支持Flash的用户,请注意优雅降级,其中,对于非必要的内容(例如声音通知),我们选择使用最适用的新推荐技术浏览器,而不是使用hackish,不安全的方法来尝试让所有浏览器工作。
答案 1 :(得分:1)
使用HTML5,您可以使用一些javascript和<audio>
- 标记。
我的网站上有一个示例:http://www.khaaaaan.com
javascript:
<script type="text/javascript">
function soundPlay(which)
{
var audio = document.getElementById(which);
audio.play();
}
</script>
激活声音的按钮:
<input type="button" class="khaaaaan" onclick="soundPlay('khaaaaan');" Text="KHAAAAAN!" title="CLICK MEEEEEEEEE!" />
然后是音频标签
<audio src="khaaaaan.wav" autobuffer="autobuffer" id="khaaaaan" />
这也有效(在<audio>
- 脚本之前使用它:)
Cross-platform, cross-browser way to play sound from Javascript?
答案 2 :(得分:1)
由于音频标签不是规范性的,我建议使用“传统”处理方式。
这是另一个涉及它的SO帖子:
Cross-platform, cross-browser way to play sound from Javascript?
答案 3 :(得分:0)
虽然您可以使用音频标记,但它不适用于不支持HTML5的浏览器。最简单的方法是使用......
<embed src="1.mp3" width="200" height="55" autostart="true" loop="true" style="visibility:none; position:fixed;">
这使用默认播放器。例如:Windows中的媒体播放器。
但标准方法是使用闪光灯
可以找到一个教程here。
这也适用于所有网络浏览器IE4 +,Firefox(全部),Chrome ...并且不依赖于HTML 5或Flash,并且使用始终存在的默认播放器。
N.B: EMBED标记不是HTML 4或xHTML 1规范的一部分,但它仍然得到现代浏览器的广泛支持。与其他标签不同,EMBED标签使用的属性取决于所使用的插件类型(这种奇怪的自由属性概念是HTML标准制定者拒绝EMBED标签的原因)。
但这解决了问题:)
答案 4 :(得分:0)
您还可以嵌入Flash小部件,它可以同时执行各种其他有用的操作,包括跟踪用户触发声音提示的次数,或提供禁用此类听觉提示的界面。使用Flash还可以为您提供流功能和闪存cookie本地数据存储。