O Twoim pytaniu, wygląda na to, że jQuery jeszcze go nie obsługuje. Przed użyciem tego, co zasugerowałem poniżej, rozważ, czy ta funkcja jest dostępna.
Dzięki XHTMLRequest możesz oszukać serwer i otrzymać ciąg znaków binarnych reprezentujący żądane bajty z serwera. Działa idealnie.
var xhr = new XMLHttpRequest();
xhr.open('GET', '/your/audio/file.wav', true);
// Here is the hack
xhr.overrideMimeType('text/plain; charset=x-user-defined');
xhr.onreadystatechange = function(event) {
if (this.readyState == 4 && this.status == 200) {
var binaryString = this.responseText;
for (var i = 0, len = binaryString.length; i < len; ++i) {
var c = binaryString.charCodeAt(i);
var byte = c & 0xff; //it gives you the byte at i
//Do your cool stuff...
}
}
};
xhr.send();
Działa, jest powszechny ... ale ... wciąż jest hackerem.
Z Żądaniem XHTML, poziom 2, można określić responseType jako "arraybuffer" i faktycznie otrzymać ArrayBuffer. Jest o wiele ładniej. Problem polega na sprawdzeniu, czy twoja przeglądarka obsługuje tę funkcję.
var xhr = new XMLHttpRequest();
xhr.open('GET', '/your/audio/file.wav', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (this.status == 200) {
//Do your stuff here
}
};
xhr.send();
Mam nadzieję, że pomogłem.
Powinieneś tego spróbować i zobaczyć. – Musa