如何创建'通知'在Android手机上打开网页时播放声音

How can I make a 'notification' sound play when a webpage is opened on an Android phone?

本文关键字:手机 播放声音 网页 Android 通知 何创建 创建      更新时间:2023-09-26

我今天一直在搜索,并找到了一些答案,比如:

<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处理它。