आपके प्रश्न के बारे में, ऐसा लगता है कि jQuery अभी तक इसका समर्थन नहीं करता है। जैसा कि मैंने नीचे सुझाव दिया है, इसका उपयोग करने से पहले, यह जांचने पर विचार करें कि सुविधा उपलब्ध है या नहीं।
एक्सएचटीएमएलआरक्वेट के साथ, आप अपने सर्वर को ट्रिक कर सकते हैं और सर्वर से इच्छित बाइट्स का प्रतिनिधित्व करने वाली बाइनरी स्ट्रिंग प्राप्त कर सकते हैं। यह पूरी तरह से काम करता है।
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();
यह काम करता है, यह आम है ... लेकिन ... यह अभी भी एक हैक है।
एक्सएचटीएमएल अनुरोध स्तर 2 के साथ, आप प्रतिक्रिया टाइप को '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();
आशा है कि मैंने मदद की।
स्रोत
2013-05-22 17:07:20
आपको इसे आजमाकर देखना चाहिए। – Musa