2017-01-11 3 views
0

J'ai un simple xmlhttprequest en cours d'exécution pour aller chercher un fichier audio, quand il a fini de le décoder, il décode l'audio et le joue. Le problème avec ceci cependant, c'est que le fichier ne décode qu'après que la demande soit chargée/finie le téléchargement. Y at-il une approche pour le streaming audio sans avoir à attendre pour terminer le téléchargement ?, sans l'utilisation de balises <audio>Javascript - Streaming audio à la volée (Web Audio API et XHR)

Répondre

0

Vous avez encore besoin objet HTML5 Audio mais au lieu d'utiliser directement et de jouer avec elle, vous pouvez utiliser une utilisation MediaElementAudioSourceNode le long avec l'élément Audio pour tirer parti de l'API Web.

Extrait de here

Plutôt que d'aller le chemin habituel de chargement d'un son directement par l'émission d'une quête XMLHttpRe puis décoder la mémoire tampon, vous pouvez utiliser le nœud source audio flux multimédia (MediaElementAudioSourceNode) à créer des nœuds qui se comportent un peu comme les nœuds de source audio (AudioSourceNode), mais envelopper une balise existante. Une fois que nous avons ce nœud connecté à notre graphe audio, nous pouvons utiliser notre connaissance de l'API audio Web pour faire de grandes choses. Ce petit exemple applique un filtre passe-bas filtre à l'étiquette:

Exemple de code:

window.addEventListener('load', onLoad, false); 

function onLoad() { 
var audio = new Audio(); 
source = context.createMediaElementSource(audio); 

var filter = context.createBiquadFilter(); 
filter.type = filter.LOWPASS; 
filter.frequency.value = 440; 

source.connect(this.filter); 
filter.connect(context.destination); 

audio.src = 'http://example.com/the.mp3'; 
audio.play(); 
}