音频不以计时器开始
Audio don't start with timer
你好,我的闹钟出了点小问题。一切正常工作在PC上,而移动(Safari)定时器被忽略。脚本如下:
(function(){
var audioElement = document.createElement('audio');
audioElement.setAttribute('src',
'http://tx.sharp-stream.com/icecast.php?i=mos.mp3');
audioElement.load();
var alarmtime ;
var alarmseted = false;
var starttime = null;
var onehour = 1000*60*60;
$("#setalarm").click(function(){
alarmtime = $("input").val();
console.log(alarmtime);
alarmsetted = true;
});
$("#actual").click(function(){
audioElement.pause();
audioElement.currentTime=0;
});
$("#StartCounting").click(function(){
starttime = new Date();
});
$("#StopCounting").click(function(){
starttime = null;
});
$("#textbox1").val( new Date(new Date().valueOf() + 1*60*1000).toLocaleTimeString());
setInterval(function(){
var storage = $("#main");
var date = new Date();
var timestr = date.toLocaleTimeString();
storage.html(timestr);
if (alarmseted) {
//storage.html(storage.html() +
}if (alarmtime === timestr)
{
audioElement.play();
alarmseted = false;
}if (starttime!== null) {
storage.html(storage.html() + "<br />" +(new Date(date-starttime-onehour)).toLocaleTimeString());
//console.log((date-starttime));
}
},
1000);
})();
问题是移动声音从一开始就播放,所以如果我设置一个小时的闹钟响,什么都不会发生。
我试着把audioElement.load ();
放到条件if (AlarmTime === timestr)
中但是什么也没有发生,音乐也没有开始。
你想要完成的是不可能的,因为你不能编程地播放音频/视频在大多数移动浏览器没有直接的物理交互来自用户(例如ontouchstart
, onclick
等)。最好的方法是在文档的任何地方监听touchstart
事件,在音频上调用play()
,立即调用pause()
,然后在再次播放音频之前等待警报。
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- MobileFirst:在客户端运行计时器作业-最佳选项
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- 如何禁用窗口.当计时器超时时,打开卸载警报
- 如何制作两个倒计时计时器,如果一个开始,另一个会停止
- 如何连续运行计时器?(当你刷新时,不要从头开始)
- 从 10 开始倒计时,并在计时器反应为 0 时重复
- 周期性倒计时计时器,每18小时一次,有特定的开始日期
- 在初始页面加载时启动计时器.如果他们离开和返回,必须从第一次装载开始计数
- 如何制作一个Javascript计时器,数字从700000000开始,每1秒倒计时2.5
- 为什么我的倒数计时器没有开始和停止?
- 从0开始加载每个页面的计数计时器
- 音频不以计时器开始
- 在javascript中创建一个倒计时计时器,在1小时后开始倒计时
- 如何使从02:00开始的计时器达到00:00,然后在06:00重新开始?
- JS网站倒计时计时器从打开页面开始计数