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?

2voto

VJAI Punkte 31029

Sie können Web Audio API für die Wiedergabe von Sounds verwenden. Es gibt eine ganze Reihe von Audio-Bibliotheken wie howler.js, soundjs usw. Wenn Sie sich keine Sorgen um alte Browser machen, können Sie auch auf http://musquitojs.com/ . Es bietet eine einfache API zum Erstellen und Abspielen von Sounds.

Um zum Beispiel einen Ton abzuspielen, müssen Sie nur Folgendes tun.

import $buzz from 'musquito';

const buzz = $buzz('gunfire.mp3');

buzz.play();

Die Bibliothek unterstützt auch Audio-Sprites.

2voto

Suhani Mendapara Punkte 287

Wenn Sie Ihre Audiodatei immer dann abspielen möchten, wenn die Seite geöffnet wird, gehen Sie folgendermaßen vor.

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

und rufen Sie diese playMusic() auf, wann immer Sie sie in Ihrem Spielcode benötigen.

1voto

Verwenden Sie einfach dies:

<video controls="" autoplay="" name="media"><source src="Sound URL Here" type="audio/mpeg" /></video>

Oder, um es noch einfacher zu machen:

<video controls="" autoplay="" name="media">

<source src="Sound URL Here" type="audio/mpeg" />

</video>

Beispiel:

<video controls="" autoplay="" name="media">
<source src="https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3" type="audio/mpeg">
</video>

Ich habe keine Ahnung, ob dies auf anderen Browsern als Chrome 73 funktioniert!!!

0voto

Danny Punkte 114

Ich hatte einige Probleme mit der Audiowiedergabe, insbesondere seit Chrome aktualisiert hat, dass der Benutzer zuerst mit dem Dokument interagieren muss.

Bei fast allen Lösungen habe ich jedoch festgestellt, dass der JS-Code aktiv Listener (z. B. Schaltflächenklicks) festlegen muss, um Benutzerereignisse zu empfangen, damit das Audio abgespielt wird.

In meinem Fall wollte ich nur, dass mein Spiel BGM abspielt, sobald der Spieler damit interagiert, also habe ich mir einen einfachen Listener gebastelt, der prüft, ob mit der Webseite interagiert wird oder nicht.

const stopAttempt = setInterval(() => {
    const audio = new Audio('your_audio_url_or_file_name.mp3');
    const playPromise = audio.play();
    if (playPromise) {
      playPromise.then(() => {
        clearInterval(stopAttempt)
      }).catch(e=>{
        console.log('' + e);
      })
    }
}, 100 )

0voto

Urihel Coleman Punkte 73

Dies ist einige JS ich kam mit auf ein Baby AI-Projekt im arbeiten mit. Ich hoffe, dies ist in der Lage, Ihnen zu helfen.

<!DOCTYPE html>
<html>
<head>
    <title>
        js prompt AI
    </title>
    <style>
        #button {
            border: 1px solid black;
            border-radius: 10px;
            font-size: 22px;
            height:65px;
            width:100px;
            text-align: center;
            line-height: 65px;
        }
    </style>
</head>
<body>

    <audio id="myAudio" src="./how_are_you.m4a"></audio>
    <p>To Interact with the AI please click the button</p>
    <div id=button>click</div>

    <script>

       var button = document.getElementById("button");
       function playBack() {
           button.addEventListener("click", function (){
            var talk = prompt("If you wish for the AI to respond type hi");
            var myAudio = document.getElementById("myAudio");

            if(talk === "hi") {
                    myAudio.play();
            }
           }) ;

       }
       playBack();
   </script>
</body>

</html>

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