2012-04-18 8 views
5

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.

+0

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

+0

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. –

Respuesta

0

De acuerdo con la docs:

En los dispositivos iOS, el nivel de audio es siempre bajo el control físico del usuario. La propiedad de volumen no se puede configurar en JavaScript. Leer la propiedad de volumen siempre devuelve 1.

Parece que tiene que usar el conmutador de hardware. Parece que en un iPhone el interruptor de volumen no afectará el volumen de Safaris (predeterminado para el volumen del timbre, a menos que suene un sonido, entonces puede ajustar el volumen de Safaris), mientras que, en el iPod, el volumen cambia.

Esperemos que esto ayude a otra persona.

+0

Simplemente haga clic en el mismo problema: ¿alguien tiene sugerencias sobre cómo hacer que el audio se detenga o se detenga o algo así? – mattelliottIT

+1

Mi solución para esto es alternar la reproducción/pausa en el botón de silencio, haga clic en dispositivos móviles. Lo sé, se supone que no debemos oler, pero a veces es la única solución. F ** rey iOS ... jaja – mattelliottIT

Cuestiones relacionadas