में प्रस्तुत करें मैं इलेक्ट्रॉन के साथ बनाए गए ऐप पर काम कर रहा हूं, इसे waveurfer.js के साथ काम करना चाहिए ताकि ऑडियो फ़ाइल का प्रतिनिधित्व करने वाले तरंगों को प्रदर्शित किया जा सके। हालांकि, मुझे fs
मॉड्यूल का उपयोग करके फ़ाइल खोलने में समस्या हो रही है और फ़ाइल सामग्री को ब्लॉब के माध्यम से तरंगों पर धक्का दे रहा है। फ़ाइल लोड होती है और सबकुछ काम करता प्रतीत होता है लेकिन जब डीकोडिंग तरंगों का कहना है Error decoding audiobuffer
।इलेक्ट्रॉन में स्थानीय फ़ाइल खोलें और waveurfer.js
दो बातें मैंने सोचा कि शायद इस को प्रभावित कर सकता:
fs.readFile
समारोह दूसरा पैरामीटर के रूप में एक एन्कोडिंग लेता- ब्लॉब निर्माता एक विकल्प दूसरा पैरामीटर के रूप में वस्तु, इस whithin आप के माध्यम से माइम प्रकार परिभाषित कर सकते हैं लेता है
type
संपत्ति
हालांकि, अब तक दोनों दृष्टिकोण समस्या को ठीक करने में विफल रहे हैं।
मुझे उम्मीद है कि किसी के पास समाधान होगा। (fs.readFile
फ़ंक्शन भी पूरी तरह से गलत तरीका है और वहां एक बेहतर तरीका है; मैं सिर्फ फाइल खोलने का अपेक्षाकृत प्रदर्शन करने वाला तरीका ढूंढ रहा हूं, किसी भी मदद की सराहना की जाती है) चीयर्स!
कोड यह रहा ...
(मैं सभी इलेक्ट्रॉन बॉयलरप्लेट बाहर जा रहा हूँ, आप इसे आसानी से कर git clone https://github.com/sindresorhus/electron-boilerplate/
से प्राप्त कर सकते हैं) - index.html
में main.js
एक स्क्रिप्ट टैग शामिल करें, आईडी wave-area
साथ एक div जोड़ने कहीं भी एचटीएमएल में और wavesurfer.js library पर एक स्क्रिप्ट टैग जोड़ें। इसके अलावा आपको demo wav-file की स्थानीय प्रति की आवश्यकता होगी।
main.js
फ़ाइल में
फिर ...
var fs = require('fs');
var wavesurfer = Object.create(WaveSurfer);
wavesurfer.init({
container: '#wave-area'
});
fs.readFile('/path/to/demo.wav', function(err, data) {
if (data && !err) {
console.log('has data and no error!');
}
var file = new window.Blob([data]);
wavesurfer.loadBlob(file);
}
wavesurfer.on('loading', function(e) {
console.log('loading', e);
});
wavesurfer.on('error', function(err) {
console.log(err);
});
धन्यवाद लग रहा है! यह 'window.createObjectURL' के लिए भी काम करता है –