web-dev-qa-db-fra.com

Vidéo HTML5 - afficher / masquer les contrôles par programmation

Je cherche un moyen d'afficher ou de masquer les contrôles vidéo HTML5 à volonté via javascript. Les commandes ne sont actuellement visibles que lorsque la vidéo commence à jouer

Existe-t-il un moyen de le faire avec les contrôles vidéo natifs?

J'utilise google chrome.

44
Weatherman
<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>

Voir le fonctionnement sur jsFiddle: http://jsfiddle.net/dgLds/

60
jessegavin

Voici comment procéder:

var myVideo = document.getElementById("my-video")    
myVideo.controls = false;

Exemple de travail: https://jsfiddle.net/otnfccgu/2/

Voir toutes les propriétés, méthodes et événements disponibles ici: https://www.w3schools.com/TAGs/ref_av_dom.asp

5
Jakob Sternberg

CARL LANGE a également montré comment obtenir de l'audio en lecture automatique caché en html5 sur un appareil iOS. Travaille pour moi.

En HTML,

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

avec JS

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

En CSS,

#hideme {display: none;}
3
foool