2013-02-01 27 views
33

मैं node.js के साथ काम कर रहा हूं और मैंने अपने ऑडियो को मेरे node.js सर्वर पर स्ट्रीम किया। अब मैं ऑडियो ब्लॉब के निर्माण की प्रक्रिया के दौरान देखा:Node.js Blobs नहीं बना सकते हैं?

var audioBlob = new Blob([dataview], { type: 'audio/wav' }); 

मैं नए ब्लॉब पर एक ReferenceError मिलता है। ऐसा लगता है कि ब्लॉब समर्थित नहीं है। मैं एक ब्लॉब कैसे बना सकता हूं जिसे मैं node.js fs मॉड्यूल से सहेजना चाहता हूं।

धन्यवाद दोस्तों!

+2

ब्लॉब क्या है? यह कहां से आता है? – Pete

+0

http://en.wikipedia.org/wiki/Binary_large_object – zer02

+0

सभी सामान्य ब्राउज़र इसका समर्थन करते हैं https://developer.mozilla.org/de/docs/DOM/Blob – zer02

उत्तर

12

इस समस्या का समाधान एक ऐसा फ़ंक्शन बनाना है जो ऐरे बफर और नोड बफर के बीच परिवर्तित हो सके। :)

Convert a binary NodeJS Buffer to JavaScript ArrayBuffer

हाल नोड संस्करणों में यह सिर्फ है:

let buffer = Buffer.from(arraybuffer); 
let arraybuffer = Uint8Array.from(buffer).buffer; 
+0

क्या आप इसे काम करने में कामयाब रहे? मैं एक फाइल में ऑडियो रिकॉर्ड कर सकता हूं लेकिन मैं इसे सुन नहीं सकता हालांकि यह सही समय है। – Gabriel

+0

हां, यह काम किया। – zer02

+0

क्या आप मेरी मदद कर सकते हैं? क्या आपने इस तरह कुछ ऐसा किया है? https: //gist.github.com/anonymous/11302966 – Gabriel

0

सुझाव के रूप में, तो आप इस पढ़ने के लिए चाहते हो सकता है: http://howtonode.org/really-simple-file-uploads

मेरा मतलब है मुझे लगता है कि मैं नहीं जानता कि आप क्या करने की कोशिश कर रहे हैं क्या। वहाँ धब्बे के लिए एक मॉड्यूल नहीं हो सकता है, लेकिन अगर आप सिर्फ डिस्क के लिए कुछ लिखना चाहते हैं, वहाँ FS मॉड्यूल है .. इस कोड को सीधे काम नहीं करेगा, लेकिन ..

var fs = require('fs') 
    , express = require('express') 

app.post('/upload', function (req, res) { 
    // asynch call to write file to disk 
    fs.write("/tmp/file.mp3", req.params.body, function (err) { 
    if (err) console.log(err) 
    }); 
    res.end(); 
}); 

आप पोस्ट एक एमपी 3, या कुछ भी वास्तव में, अपलोड/अपलोड करने के लिए, और यह डिस्क पर लिख जाएगा। आप जो भी सत्यापन चाहते हैं वह कर सकते हैं।

+0

हैलो मैंने GetUserMedia ऑडियो के ऑडियो बफर को मेरे node.js सर्वर पर स्ट्रीम किया है और WAV को सरणी एन्कोड करना चाहता हूं। – zer02

+0

https://github.com/mattdiamond/Recorderjs – sent1nel

+0

मैंने recorder.js का उपयोग किया है। मैंने इसे भी बढ़ाया। समस्या ब्लॉब सर्वर को क्लाइंट पक्ष के आधार पर नहीं बना रही है। मुझे पता होना चाहिए कि नोड के अंदर ब्लॉब बनाने का कोई तरीका है या नहीं।जेएस, क्योंकि मैं ऑडियो को सीधे node.js पर स्ट्रीम कर रहा हूं और सर्वर पर wav/एमपी 3 फ़ाइल बनाना चाहता हूं। :-) – zer02

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

  • कोई संबंधित समस्या नहीं^_^