Je réalise un jeu avec HTML5 et JavaScript.
Comment puis-je lire le son du jeu via JavaScript ?
Je réalise un jeu avec HTML5 et JavaScript.
Comment puis-je lire le son du jeu via JavaScript ?
Vous pouvez utiliser l'API audio Web pour lire des sons. Il existe de nombreuses bibliothèques audio comme howler.js, soundjs, etc. Si vous ne vous souciez pas des anciens navigateurs, vous pouvez aussi consulter http://musquitojs.com/ . Il fournit une API simple pour créer et jouer des sons.
Par exemple, pour jouer un son, il suffit de.
import $buzz from 'musquito';
const buzz = $buzz('gunfire.mp3');
buzz.play();
La bibliothèque prend également en charge les Sprites audio.
Utilisez juste ça :
<video controls="" autoplay="" name="media"><source src="Sound URL Here" type="audio/mpeg" /></video>
Ou, pour faire plus simple :
<video controls="" autoplay="" name="media">
<source src="Sound URL Here" type="audio/mpeg" />
</video>
Un échantillon :
<video controls="" autoplay="" name="media">
<source src="https://interactive-examples.mdn.mozilla.net/media/examples/t-rex-roar.mp3" type="audio/mpeg">
</video>
Je n'ai AUCUNE idée si cela fonctionne sur d'autres navigateurs que Chrome 73 !
C'est un peu de JS que j'ai trouvé sur un projet d'IA pour bébé sur lequel je travaille. J'espère que cela pourra vous aider.
<!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>
J'ai eu quelques problèmes avec la lecture de l'audio, surtout depuis que Chrome a mis à jour que l'utilisateur doit d'abord interagir avec le document.
Cependant, dans presque toutes les solutions que j'ai trouvées, le code JS doit définir activement des écouteurs (par exemple, des clics de bouton) pour recevoir les événements de l'utilisateur afin de lire l'audio.
Dans mon cas, je voulais juste que mon jeu joue de la musique d'ambiance dès que le joueur interagit avec lui, donc je me suis fait un simple écouteur qui continue à vérifier si la page web est interceptée ou non.
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 )
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.
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/