858 votes

Comment lire l'audio ?

Je réalise un jeu avec HTML5 et JavaScript.

Comment puis-je lire le son du jeu via JavaScript ?

13 votes

Puisque c'est html5, il y a <audio> . Cet élément sera doté de crochets JS appropriés pour "lecture", "pause", etc...

17 votes

Je parie que vous vous demandez où se trouve la documentation relative à toutes les méthodes audio : stackoverflow.com/questions/4589451/

6voto

mamadaliev Points 61
var song = new Audio();
song.src = 'file.mp3';
song.play();

5voto

talsibony Points 326

J'ai eu quelques problèmes liés à objet de promesse audio et certains problèmes liés à l'interaction de l'utilisateur avec les sons, je finis par utiliser ce petit objet,

Je recommande d'implémenter les sons de lecture les plus proches de l'événement d'interaction que l'utilisateur utilise.

var soundPlayer = {
  audio: null,
  muted: false,
  playing: false,
  _ppromis: null,
  puse: function () {
      this.audio.pause();
  },
  play: function (file) {
      if (this.muted) {
          return false;
      }
      if (!this.audio && this.playing === false) {
          this.audio = new Audio(file);
          this._ppromis = this.audio.play();
          this.playing = true;

          if (this._ppromis !== undefined) {
              this._ppromis.then(function () {
                  soundPlayer.playing = false;
              });
          }

      } else if (!this.playing) {

          this.playing = true;
          this.audio.src = file;
          this._ppromis = soundPlayer.audio.play();
          this._ppromis.then(function () {
              soundPlayer.playing = false;
          });
      }
  }
};

Et le mettre en œuvre comme suit :

<button onclick="soundPlayer.play('https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3');">Play</button>

4voto

Bilal Soomro Points 363

J'ai utilisé cette méthode pour jouer un son...

var audioElement;
if(!audioElement) {
  audioElement = document.createElement('audio');
  audioElement.innerHTML = '<source src="' + '/audio/sound.mp3'+ '" type="audio/mpeg" />'
}
audioElement.play();

3voto

Passiv Programmer Points 149

Si vous voulez pouvoir lire le son même lorsque l'onglet du navigateur n'est pas sélectionné, vous devez charger la ressource audio au chargement de la page.

Comme ça :

var audio = new Audio('audio/path.mp3');

function playSound(){
    audio.play();
}

Véase este question pour plus de détails

2voto

Suhani Mendapara Points 234

Si vous voulez lire votre audio à chaque fois que la page est ouverte, faites comme ceci.

<script>
  function playMusic(){
  music.play();
  }
  </script>
<html>
  <audio id="music" loop src="sounds/music.wav" autoplay> </audio>
  </html>

et appelez cette playMusic() chaque fois que vous en avez besoin dans le code de votre jeu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X