1015 Stimmen

Wie kann man Audio abspielen?

Ich mache ein Spiel mit HTML5 und JavaScript.

Wie kann ich den Ton eines Spiels über JavaScript abspielen?

7voto

mamadaliev Punkte 71
var song = new Audio();
song.src = 'file.mp3';
song.play();

5voto

Bilal Soomro Punkte 641

Ich habe diese Methode verwendet, um einen Sound abzuspielen...

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

5voto

talsibony Punkte 7888

Ich hatte einige Probleme im Zusammenhang mit Audio-Versprechen-Objekt und einige Probleme im Zusammenhang mit der Benutzerinteraktion mit Sounds habe ich dieses kleine Objekt verwendet,

Ich würde empfehlen, die Abspieltöne so zu implementieren, dass sie dem Interaktionsereignis, das der Benutzer verwendet, am nächsten kommen.

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;
          });
      }
  }
};

Und setzen Sie es wie folgt um:

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

4voto

Passiv Programmer Punkte 311

Wenn Sie den Ton auch dann abspielen wollen, wenn der Browser-Tab gerade nicht ausgewählt ist, müssen Sie die Audio-Ressource beim Laden der Seite laden.

Etwa so:

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

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

Siehe este Frage nach mehr Details

3voto

Poker Player Punkte 86
const playAudio = (path) => {
   new Audio(path ?? 'defaultPath').play()
}

playAudio('path')`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X