iPhone、iPad、Androidなどでサウンド使用中にwebブラウザを閉じると、ホーム画面にサウンドコントロールが表示され、webブラウザを閉じたままでもサウンドを再生できてしまいます。
これを避けるには visibilitychange でブラウザの状態を検知し、閉じている間はサウンドの要素を muted にするようにします。
検証:iOS 15+Safari、Android 12+Google Chrome
const sound = document.getElementById( 'sound' );
document.addEventListener( 'visibilitychange' , function() {
if ( document.visibilityState === 'hidden' ) {
sound.muted = true;
} else {
sound.muted = false;
}
} );
visibilitychange を使えないブラウザも対象にする場合は blur などで。