2011-03-23 83 views
37

Estoy buscando una forma de mostrar u ocultar controles de video HTML5 a voluntad a través de javascript. Los controles actualmente solo están visibles cuando el video comienza a reproducirsevideo HTML5 - mostrar/ocultar controles programáticamente

¿Hay alguna manera de hacer esto con los controles de video nativos?

Estoy usando el navegador google chrome.

+0

Extracción de los controles oculta el audio todos juntos, por lo que tendrá que añadir el 'autoplay' atributo o reproducir el audio mediante programación. – Patrick

Respuesta

54
<video id="myvideo"> 
    <source src="path/to/movie.mp4" /> 
</video> 

<p onclick="toggleControls();">Toggle</p> 

<script> 
var video = document.getElementById("myvideo"); 

function toggleControls() { 
    if (video.hasAttribute("controls")) { 
    video.removeAttribute("controls") 
    } else { 
    video.setAttribute("controls","controls") 
    } 
} 
</script> 

ver su funcionamiento en jsFiddle: http://jsfiddle.net/dgLds/

+9

¿Alguna idea sobre cómo lograr este comportamiento en modo de pantalla completa? – sgimeno

+0

Esta versión funciona en modo de pantalla completa http://jsfiddle.net/gdyngzyp/ – jerrygarciuh

2

CARL LANGE también mostró cómo conseguir oculto, reproducción automática de audio en HTML5 en un dispositivo iOS. Funciona para mi.

En HTML,

<div id="hideme"> 
    <audio id="audioTag" controls> 
     <source src="/path/to/audio.mp3"> 
    </audio> 
</div> 

con JS

<script type="text/javascript"> 
window.onload = function() { 
    var audioEl = document.getElementById("audioTag"); 
    audioEl.load(); 
    audioEl.play(); 
}; 
</script> 

En CSS,

#hideme {display: none;}