關於你的問題,看來jQuery目前還不支持它。在按照我下面的建議使用它之前,請考慮檢查功能是否可用。
使用XHTMLRequest,您可以欺騙您的服務器並接收表示您希望從服務器獲取的字節的二進制字符串。它完美的作品。
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();
它的作品,這是常見的......但...它仍然是一個黑客攻擊。
使用XHTML請求級別2,您可以將responseType指定爲「arraybuffer」並實際接收ArrayBuffer。它更好。問題是要檢查您的瀏覽器是否支持此功能。
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();
希望我幫了忙。
你應該試試看看。 – Musa