Ich mache ein Spiel mit HTML5 und JavaScript.
Wie kann ich den Ton eines Spiels über JavaScript abspielen?
Ich mache ein Spiel mit HTML5 und JavaScript.
Wie kann ich den Ton eines Spiels über JavaScript abspielen?
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.
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.
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!!!
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 )
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 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.