如何创建'通知'在Android手机上打开网页时播放声音
How can I make a 'notification' sound play when a webpage is opened on an Android phone?
我今天一直在搜索,并找到了一些答案,比如:
<head>
<title>Audio test</title>
<script type="text/javascript">
// @param filename The name of the file WITHOUT ending
function playSound(filename){
document.getElementById("sound").innerHTML='<audio autoplay="autoplay"><source src="' + filename + '.mp3" type="audio/mpeg" /><source src="' + filename + '.ogg" type="audio/ogg" /><embed hidden="true" autostart="true" loop="false" src="' + filename +'.mp3" /></audio>';
}
</script>
</head>
<body>
<button onclick="playSound('bing');">Play</button>
<div id="sound"></div>
</body>
对于上面的答案,我相信我只需要输入正确的文件名(例如mydomain.com/correctfilename.mp3),其中'filename'在该脚本中。
但是我正在寻找一些不同的东西和更快的加载时间。我想知道我是否可以在网站打开时播放"默认"Android通知声音。我在这里找到了与我需要的类似的东西:
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
但是当我把它放入HTML文件时,它不起作用,我想这是因为它不是javascript。
我知道有很多方法可以让你的手机震动,所以我想可能有一种方法可以访问它预装的声音。我可以用脚本吗?
我想你是在问你是否可以从网页做一些事情,而不是从设备上的特定应用程序-这样使用WebView。
对于任何通过浏览器访问设备服务的网页,都有W3C设备API工作组,它已经生产了一个振动API,甚至已经在Android Chrome Beta 39和其他类似的平台上工作:
navigator.vibrate(2000);
我不知道,然而,有一些方法可以播放默认的声音/振动,遵循设备环境,比如,Windows API处理它。
相关文章:
- 如何减少在移动网络应用程序上播放声音的延迟
- 你能用sound.js在播放声音文件后5秒执行一个动作吗
- 可以'无法播放声音
- 使用javascript播放声音
- 点击播放声音
- 如何检测网页中的更改并使用Javascript播放声音
- 在悬停图像上播放声音,悬停在图像上时停止
- 无法使用JavaScript在iPhone上播放声音,但可以在Android上播放
- 播放声音时Cordova和HTML5的差异
- 在AngularJS中将元素添加到作用域时,如何在所有设备上播放声音
- 当弹出窗口关闭时播放声音文件(谷歌扩展)
- 在iPad上播放声音时延迟
- Javascript自动播放声音文件,单击其中一个按钮时停止
- HTML5音频标签没有播放声音的铬和safari中的第一个未聚焦标签
- 单击图像时播放声音
- Phonegap兼容代码,可在网站HTML/JS页面中播放声音
- 播放声音文件时突出显示句子
- 根据当前编号逐个播放声音文件
- 使用类似 Javascript 的 matlab 播放声音
- 如何创建'通知'在Android手机上打开网页时播放声音