Lecture audio avec Javascript?

Je crée un jeu avec HTML5 et Javascript.

Comment puis-je jouer à l'audio du jeu via Javascript?

Si vous ne souhaitez pas utiliser des éléments HTML:

 var audio = new Audio('audio_file.mp3'); audio.play(); 

Cela utilise l'interface HTMLAudioElement , qui joue de l'audio de la même manière que l' élément <audio> .

Si vous avez besoin de plus de fonctionnalités, j'ai utilisé la bibliothèque howler.js et l' ai trouvé simple et utile.

C'est facile, obtenez simplement votre élément audio et appelez la méthode play() :

 document.getElementById('yourAudioTag').play(); 

Consultez cet exemple: http://www.storiesinflight.com/html5/audio.html

Ce site détecte certaines des autres choses intéressantes que vous pouvez faire comme load() , pause() , et quelques autres propriétés de l'élément audio .

http://www.schillmania.com/projects/soundmanager2/

SoundManager 2 fournit une API facile à utiliser qui permet de lire du son sur n'importe quel navigateur moderne, y compris IE 6+. Si le navigateur ne prend pas en charge HTML5, il obtient de l'aide par flash. Si vous voulez strictement HTML5 et sans flash, il existe un paramètre pour cela, preferFlash=false

Il prend en charge 100% d'audio sans flash sur iPad, iPhone (iOS4) et d'autres périphériques compatibles HTML5 + navigateurs

L'utilisation est aussi simple que:

 <script src="soundmanager2.js"></script> <script> // where to find flash SWFs, if needed... soundManager.url = '/path/to/swf-files/'; soundManager.onready(function() { soundManager.createSound({ id: 'mySound', url: '/path/to/an.mp3' }); // ...and play it soundManager.play('mySound'); }); </script> 

Voici une démo en action: http://www.schillmania.com/projects/soundmanager2/demo/christmas-lights/

C'est une question assez ancienne, mais je voudrais ajouter des informations utiles. Le début du sujet a mentionné qu'il "making a game" . Donc, pour tous ceux qui ont besoin d'audio pour le développement de jeux, il y a un meilleur choix que juste une <audio> ou un HTMLAudioElement . Je pense que vous devriez considérer l'utilisation de l' API Web Audio :

Alors que l'audio sur le Web ne nécessite plus de plugin, l'étiquette audio apporte des limites importantes pour la mise en œuvre de jeux sophistiqués et d'applications interactives. L'API Web Audio est une API JavaScript de haut niveau pour le traitement et la synthèse d'audio dans les applications Web. L'objectif de cette API est d'inclure les capacités trouvées dans les moteurs audio de jeux modernes et certaines des tâches de mixage, de traitement et de filtrage qui se trouvent dans les applications modernes de production audio de bureau.

Facile avec Jquery

// définit des balises audio sans précharge

 <audio class="my_audio" controls preload="none"> <source src="audio/my_song.mp3" type="audio/mpeg"> <source src="audio/my_song.ogg" type="audio/ogg"> </audio> 

// ajoute jquery pour charger

 $(".my_audio").trigger('load'); 

// écrit des méthodes pour jouer et arrêter

 function play_audio(task) { if(task == 'play'){ $(".my_audio").trigger('play'); } if(task == 'stop'){ $(".my_audio").trigger('pause'); $(".my_audio").prop("currentTime",0); } } 

// décide comment contrôler l'audio

 <button onclick="play_audio('play')">PLAY</button> <button onclick="play_audio('stop')">STOP</button> 
 new Audio('./file.mp3').play() 

Ajoutez un audio caché et jouez-le.

 function playSound(url){ var audio = document.createElement('audio'); audio.style.display = "none"; audio.src = url; audio.autoplay = true; audio.onended = function(){ audio.remove() //Remove when played. }; document.body.appendChild(audio); } 

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

Si vous souhaitez lire votre audio chaque fois que la page est ouverte, faites de cette façon.

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

Solution assez simple: si vous avez une balise HTML comme ci-dessous:

 <audio id="myAudio" src="some_audio.mp3"></a> 

Utilisez simplement JavaScript pour le jouer, de la manière suivante:

 document.getElementById('myAudio').play();