Gibt es eine Möglichkeit, Musik aus Bytes statt einer Datei in HTML 5 zu spielen?Musik von Bytearray in HTML5 wiedergeben
Ich muss Musik Bytes streamen und sie live spielen.
Gibt es eine Möglichkeit, Musik aus Bytes statt einer Datei in HTML 5 zu spielen?Musik von Bytearray in HTML5 wiedergeben
Ich muss Musik Bytes streamen und sie live spielen.
überprüfen Sie bitte diese
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();
}
Die Audiodatei Daten binär ist (nicht Text), so setzen wir die response des Antrags auf ‚Arraybuffer‘. Weitere Informationen zu ArrayBuffers finden Sie in diesem Artikel zu XHR2.
Sobald die (nicht decodierten) Audiodateidaten empfangen wurden, können sie für die spätere Decodierung beibehalten oder direkt mit der Methode AudioContext decodeAudioData() decodiert werden. Diese Methode verwendet den ArrayBuffer der Audiodateidaten, die in request.response gespeichert sind, und dekodiert sie asynchron (wobei der Haupt-JavaScript-Ausführungsthread nicht blockiert wird).
Wenn decodeAudioData() beendet ist, ruft es eine Callback-Funktion auf, die die dekodierten PCM-Audiodaten als AudioBuffer bereitstellt.
und hier die Referenz ==>HML5 audio
UPDATE: , um es auf Firefox und Chrome arbeiten zu lassen:
context= typeof AudioContext !== 'undefined' ? new AudioContext() : new webkitAudioContext();
statt:
var context = new AudioContext();
html5-Audio kann Play Stream, es funktioniert gut mit einem Icecast-Server – r043v