Я строю систему настенных панелей для ресторана, и они хотели бы включить сигнализацию, которая срабатывает три раза в течение дня, каждый день, чтобы напомнить команде о выполнении определенных задач.У меня почти все настенные панели уже построены с использованием php и html, но у меня возникли некоторые проблемы с системой сигнализации.Из того, что я сделал, Javascript выглядит как язык выбора для достижения этой цели, но когда я построил эту простую систему ниже, она не сработала.Javascript может найти аудиофайл, если вы нажмете кнопку воспроизведения, и таймер сработает после того, как вы воспроизвели аудио один раз, но когда я пытаюсь просто запустить с аспектом будильника, он не работает.Буду очень признателен за любую помощь / предложения.
Я провел приличное количество исследований по этой теме и попробовал несколько различных методов, чтобы заставить это работать, и это показалось мне единственной версией, которую я могдоберись до работы ... хоть немного.
Кроме того, для записи, я запускаю программу на Ubuntu 16.04 с LAMP и использую Chrome / Chromium для просмотра веб-страницы.
<!DOCTYPE html>
<html>
<body>
<audio id="myAudio">
<source src="/include/sanitizer_reminder.mp3" type="audio/mpeg">
<source src="/include/sanitizer_reminder.ogg" type="audio/ogg">
Your browser does not support the audio element.
</audio>
<p>This is a test</p>
<div id="timeid"></div>
<p>Click the buttons to play or pause the audio.</p>
<button onclick="playAudio()" type="button">Play Audio</button>
<button onclick="pauseAudio()" type="button">Pause Audio</button>
<script>
var x = document.getElementById("myAudio");
function playAudio() {
x.play();
}
function pauseAudio() {
x.pause();
}
</script>
<script>
window.setInterval(function(){ // Set interval for checking
var x = document.getElementById("myAudio");
var date = new Date(); // Create a Date object to find out what time it is
if(date.getHours() === 10 && date.getMinutes() === 0 && x.paused){ // Check the time
x.play();
setTimeout(function() { x.pause(); }, 20000);
}
if(date.getHours() === 14 && date.getMinutes() === 0 && x.paused){ // Check the time
x.play();
setTimeout(function() { x.pause(); }, 20000);
}
if(date.getHours() === 18 && date.getMinutes() === 0 && x.paused){ // Check the time
x.play();
setTimeout(function() { x.pause(); }, 20000);
}
}, 30000);
var today = new Date();
var time = today.getHours() + ":" + today.getMinutes();
document.getElementById("timeid").innerHTML = time;
</script>
</body>
</html>