C'è un modo per riprodurre musica da byte invece di un file in HTML 5?Riproduci musica da bytearray in html5
Ho bisogno di ascoltare in streaming i brani musicali e riprodurli dal vivo.
C'è un modo per riprodurre musica da byte invece di un file in HTML 5?Riproduci musica da bytearray in html5
Ho bisogno di ascoltare in streaming i brani musicali e riprodurli dal vivo.
prega di consultare questo
var dogBarkingBuffer = null;
// Fix up prefixing
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
function loadDogSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
dogBarkingBuffer = buffer;
}, onError);
}
request.send();
}
I dati file audio è binario (non il testo), quindi abbiamo impostare il responseType della richiesta di 'ArrayBuffer'. Per ulteriori informazioni su ArrayBuffers, consulta questo articolo su XHR2.
Una volta ricevuti i dati del file audio (non codificato), è possibile mantenerli in attesa di una decodifica successiva oppure decodificarli immediatamente utilizzando il metodo decodeAudioData() di AudioContext. Questo metodo prende ArrayBuffer dei dati del file audio memorizzati in request.response e decodifica in modo asincrono (non bloccando il thread di esecuzione JavaScript principale).
Al termine di decodeAudioData(), viene richiamata una funzione di richiamata che fornisce i dati audio PCM decodificati come AudioBuffer.
e qui il riferimento ==>HML5 audio
UPDATE: per farlo lavorare su Firefox e l'utilizzo di cromo:
context= typeof AudioContext !== 'undefined' ? new AudioContext() : new webkitAudioContext();
invece di:
var context = new AudioContext();
HTML5 audio può riprodurre stream, funziona bene con un server icecast – r043v