Да, это возможно.
Вы можете использовать событие VisibilityChange, чтобы определить, когда видимость страницы меняется с видимой на скрытую. Когда страница скрыта, вы должны просмотреть все аудио- и видеоэлементы на странице и установить для их свойства mute значение true. Когда страница снова станет видимой, выполните цикл и установите для параметра mute обратно значение false.
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'hidden') {
mutePage();
} else {
unmutePage();
}
});
function mutePage() {
document.querySelectorAll('audio, video').forEach(element => {
element.muted = true;
});
}
function unmutePage() {
document.querySelectorAll('audio, video').forEach(element => {
element.muted = false;
});
}
Это приведет к отключению аудио и видео элементов HTML. Может потребоваться дополнительная логика для отключения звука других источников звука.