Javascript 为什么此属性返回未定义?
我正在用Javascript编写AMR编解码器,似乎无法获得解码器模块识别的文件引用。以下是我的代码示例:Javascript 为什么此属性返回未定义?,javascript,audio,codec,Javascript,Audio,Codec,我正在用Javascript编写AMR编解码器,似乎无法获得解码器模块识别的文件引用。以下是我的代码示例: reader.onload = (function (file) { return function (e) { var extension = file.name.split(".")[1]; if (extension === "amr") { console.log("in try"
reader.onload = (function (file) {
return function (e) {
var extension = file.name.split(".")[1];
if (extension === "amr") {
console.log("in try");
var stuff = e.target.result;
console.log(stuff.length);
var jigg = new AMR();
jigg.benchmark == 'true';
console.log(jigg); //jigg is defined, it's an instance of amr
// let's call some amr functions...
var dcoded = jigg.decode(stuff);
AMR.util.play(dcoded); //this throws an 'undefined' error, indicating that 'dcoded' is undefined.
} else if (extension == "wav") {
var data = e.target.result;
encodeWAV(data);
} else if (extension == "pcm" && isTypedArray) {
encodeRawPCM(new Int16Array(e.target.result));
}
};
})(f);
if ( !! isTypedArray) {
reader.readAsArraybuffer(f);
return;
}
// Read the file as a Binary String
reader.readAsBinaryString(f);
}
我已经评论了故障发生的线路
AMR.util.play(dcoded);
你能发布准确的错误消息吗?从您的评论来看,它看起来像是
jigg.decode(stuff)
返回的undefined
。它看起来像jigg.decode(stuff)代码>不适用于内容
。什么是console.out(东西)代码>说?如果你有大量的代码,你应该先考虑单元测试,然后再发布相关的代码。我们猜不出jigg.decode到底做了什么。哇,谢谢!log(stuff)打印:“stscÁstco”。我试图分解程序并进行单元测试。查看我的JSFIDLE: