2013-06-21 10 views
5

मैं एक छोटे से परियोजना है कि decrypts (openpgp.js प्रयोग करके) और सर्वर की ओर से ऑडियो वेब ऑडियो API का उपयोग कर फ़ाइल डीकोड पर काम कर रहा हूँ के प्लेबैक के लिए कच्चे ऑडियो

मैं एक AudioContext उद्देश्य यह है कि डीकोड और createBufferSource

function playSound(decodedAudio) { 
    var source = context.createBufferSource(); 
    source.buffer = decodedAudio; 
    source.connect(context.destination); 
    source.start(0); 
} 

साथ बफ़र है क्योंकि यह कच्चे ऑडियो प्राप्त किया जा रहा है मैं एक ऑडियो तत्व के साथ audio.src = ... की तरह सरल उपयोग कुछ नहीं कर सकते है। या शायद मैं कुछ स्पष्ट दिख रहा हूँ?
इस एक गंतव्य <audio> तत्व के साथ अच्छी तरह से खेलते हैं वेब ऑडियो API भीतर ऑडियो डीकोड करने के लिए एक तरीका है?

आदर्श प्रवाह कुछ ऐसा दिखाई देगा ...
1) उपयोगकर्ता एक ऑडियो क्लिप
2) ऑडियो सर्वर साइड decrypted और एक कच्चे ऑडियो
के रूप में ग्राहक के लिए भेज दिया जाता है के प्लेबैक संलग्न करने के लिए क्लिक करता है 3) ऑडियो डीकोड और playable, तलाश योग्य ... आदि है।

संभावित समाधान है कि मैं
पर विचार खुशी होगी - क्योंकि ऑडियो फ़ाइलें 1 मिनट से 60 मिनट से कहीं रेंज कर सकते हैं, FileSystem API का उपयोग कर एक फाइल करने के लिए ऑडियो लिखना और फिर वास्तविक के लिए एक <audio> तत्व का उपयोग प्लेबैक
- वेब ऑडियो एपीआई

उत्तर

2

अच्छा प्रश्न के शीर्ष पर रुकने, स्क्रब करने और वॉल्यूम के लिए अपना स्वयं का नियंत्रण प्रणाली लिखें! सबसे आसान समाधान डीकोडेड सामग्री को Blob में संग्रहीत करेगा।

है कि आप src विशेषता निर्धारित करने की अनुमति होगी।

var blob = new Blob(decodedData, {type: "correct-mimetype/here"}); 
var url = URL.createObjectURL(blob); 
audio.src = url; 
+0

क्या प्रत्येक पैकेट या पूरी क्लिप के लिए ब्लॉब बनाने के लिए यह अधिक कुशल होगा? – bobbybee

+0

यह लक्ष्य पर निर्भर करता है, या क्लाइंट से डेटा कैसे भेजा जाता है (प्रोटोकॉल? HTTP? डब्लूएस? वेबआरटीसी? जो ओपी वास्तव में चाहता है उसके आधार पर बदलता है, और यदि आंशिक डेटा मदद करता है। –

+1

शायद वेबसाकेट्स (यह सब सैद्धांतिक है, मैं सिर्फ एक वीओआईपी टाइपिंग बात करने के बारे में सोच रहा हूँ, लेकिन मुझे लगता है धब्बे बड़े भूमि के ऊपर है है ...) – bobbybee

संबंधित मुद्दे