Я делаю веб-сервер для вывода значений давления графика на веб-сайте. Если давление слишком низкое / высокое, я хочу воспроизвести звуковое предупреждение пользователя. Кажется, я не могу найти способ сделать это, поскольку у меня есть уникальная проблема: у меня должен быть <meta http-equiv="refresh" content="1" />
в моем HTML-коде. Это, конечно, обновляет страницу каждую секунду, поэтому даже если у меня есть кнопка, чтобы пользователь нажимал в первый раз, когда давление слишком низкое, страница мгновенно перезагружается, и я получаю «Uncaught (in обещание) DOMException» в консолив следующий раз звук должен воспроизводиться. Вот код, который у меня пока есть, сокращенный, чтобы показать необходимые части:
HTML:
<audio id="alert_sound" controls>
<source src="chime.mp3" type="audio/mp3">
<source src="chime.ogg" type="audio/ogg">
</audio>
Javascript:
var arduino = [2.11,2.07,2.06,08,1.82,2.00,2.13,1.85,2.15,1.73]
var sound = document.getElementById("alert_sound");
if (Math.min(...arduino) < 5) {
const playPromise = sound.play();
if (playPromise !== null) {
playPromise.catch(() => { sound.play(); })
};
Я нашел последние 4 строкиJS как ответ где-то еще, что я думал, что будет работать, но это тоже оказалось бесплодным.