Package Exports
- wav-decoder
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wav-decoder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
wav-decoder
isomorphic wav data decoder
Installation
npm:
npm install wav-decoderbower:
bower install wav-decoderdownloads:
API
WavDecoder
constructor()
Class methods
decode(src: ArrayBuffer|Buffer): Promise<AudioData>
Instance methods
decode(src: ArrayBuffer|Buffer): Promise<AudioData>
Returns
AudioData is defined below.
interface AudioData {
sampleRate: number;
channelData: Float32Array[];
}Usage
node.js
var fs = require("fs");
var WavDecoder = require("wav-decoder");
var readFile = function(filepath) {
return new Promise(function(resolve, reject) {
fs.readFile(filepath, function(err, buffer) {
if (err) {
return reject(err);
}
return resolve(buffer);
});
});
};
readFile("foobar.wav").then(function(buffer) {
return WavDecoder.decode(buffer); // buffer is an instance of Buffer
}).then(function(audioData) {
console.log(audioData.sampleRate);
console.log(audioData.channelData[0]); // Float32Array
console.log(audioData.channelData[1]); // Float32Array
});browser
<script src="/path/to/wav-decoder.js"></script>fetch("foobar.wav").then(function(res) {
return res.arraybuffer();
}).then(function(buffer) {
return WavDecoder.decode(buffer); // buffer is an instance of ArrayBuffer
}).then(function(audioData) {
console.log(audioData.sampleRate);
console.log(audioData.channelData[0]); // Float32Array
console.log(audioData.channelData[1]); // Float32Array
});License
MIT