当条件满足时,我想播放通知声音(短蜂鸣声)x次,其间有x个时间。我写了以下脚本:
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme.TransparentActivity">
</activity>
在检查safari调试器时没有错误并且触发了setTimeout,但在第一次发出蜂鸣声后,没有其他声音被听到。 (音频文件的长度为aprox 1秒)
有人可以解释为什么它不起作用吗?
答案 0 :(得分:0)
尝试使用短音,因为如果您在上一个声音结束前播放声音,则第二个声音将被静音。
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<audio id="sound">
<source src="alert.wav" type="audio/wav">
</audio>
<input type="text" id="times" value="5">
<button id="btn" type="button">Play Alert</button>
<script>
$(document).ready(function () {
var audio = new Audio("alert.wav");
let times = 0;
$("#btn").on("click", function() {
times = parseInt(document.getElementById("times").value);
playAudio();
});
playAudio = function() {
audio.play()
times --;
if (times) setTimeout(playAudio, 333);
}
});
</script>