Problema: Tengo problemas al alternar la propiedad silenciada en una etiqueta de audio html5.HTMLAudioElement no se silenciará correctamente en Safari en iPod Touch (5.0.1)
Plataforma: Sólo en el iPod Touch (Safari) [iOS 5.0.1]. Funciona bien en Chrome.
// This code resides in my click binding.
var audios = document.getElementsByTagName('audio')[0];
console.log(audios.muted); // returns false by default
if(audios.muted == true){
audios.muted = false;
}
else{
audios.muted = true;
}
En Chrome, console.log cambiará a verdadero/falso, sin embargo en el iPod, siempre permanecerá falso.
Acabo de mirar los documentos y encontré que en el escritorio puede establecer la propiedad del volumen, sin embargo, en el dispositivo móvil dice "En los dispositivos iOS, el nivel de audio siempre está bajo el control físico del usuario. en JavaScript. Leer la propiedad de volumen siempre devuelve 1. ". Esto no tiene sentido para mí por qué no puede silenciar o ajustar el volumen de un elemento de audio. – Fostah
Es posible que pueda solucionar el problema utilizando la API de audio. No soy un experto en las capacidades y limitaciones completas, pero logré improvisar un código que reproducía un tono simple y luego JS podría usarse para cambiar el volumen o más específicamente la "ganancia". La interacción del usuario fue necesaria para crear el tono y comenzar a tocar, pero después de eso tuve control total sobre el nivel de sonido, permitiéndome usarlo como una alerta de audio muy simple para ciertos eventos. –