2010-04-08 26 views
18

Actualmente estoy trabajando en un reproductor de video HTML5, lo tengo funcionando completamente en todas partes, excepto en el iPad. Básicamente, puedo controlar todo, excepto el sonido, tengo un botón mute, funciona bien en Google Chrome, Firefox 3.6 y Safari en Mac OS, pero en el iPad no importa qué valor ponga en video.volume, no hay cambio sucediendo.HTML5 Video Volume

¿Alguien lo hizo funcionar correctamente?

Aquí está mi código HTML:

<video src="video_url" width="608" height="476" autobuffer="autobuffer" id="html5-player" preload> 
    Your browser doesn't support HTML5. 
</video 

Y aquí está el Javascript:

var muted = false; 
$j('.player-mute').click(function(){ 
    if(muted) { 
     videoPlayer.volume = 1; 
     muted = false; 
    } else { 
     videoPlayer.volume = 0; 
     muted = true; 
    } 
}); 
+0

Se puede publicar una versión simplificada de su código (el html y javascript)? Sin ningún código, es difícil saber qué puede estar mal. – lostriebo

+0

El clic se activa correctamente, el valor del volumen cambia, pero el sonido permanece igual en el iPad. – Mikushi

+0

Es una posibilidad remota, pero ¿hay alguna diferencia si especifica el doble (es decir, 'videoPlayer.volume = 1.0;' o 'videoPlayer.volume = 0.0;')? – lostriebo

Respuesta

3

Si usted lee la documentación de vídeo HTML5 iPad se dice que sólo el usuario del dispositivo puede comenzar vídeo y cambiar el volumen

+0

Si se desencadena por un evento de clic, debería funcionar, ¿no? Quiero decir que funciona para la reproducción de video(), tengo un evento de clic vinculado en mi botón de reproducción y no tengo ningún problema, mientras que el botón de silenciamiento no funciona, ¿puede ser porque es una propiedad que modifico? – Mikushi

18

La propiedad volume en los dispositivos IOS es de sólo lectura acuerdo con Apple's documentation:

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. La lectura de la propiedad volumen siempre devuelve 1.

+1

Enlace HTML directo a la página de iOS: https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html –

-4
var muted = false; 
$j('.player-mute').click(function(){ 
if(muted) { 
    videoPlayer.volume(1); 
    muted = false; 
} else { 
    videoPlayer.volume(0); 
    muted = true; 
} 
}); 

uso como función

+0

atributo de volumen del elemento de video no es una función . – mwm