小编myN*_*ame的帖子

从wav文件中读取样本

我正在尝试在html5中创建一个网页,该网页存储数组中wav文件的样本数据.有没有办法用javascript获取样本数据?我正在使用文件输入来选择wav文件.

在我已添加的javascript中:

document.getElementById('fileinput').addEventListener('change', readFile, false);
Run Code Online (Sandbox Code Playgroud)

但是我不知道在readFile中要做什么.

编辑:我试图在ArrayBuffer中获取文件,将其传递给decodeAudioData方法并从中获取一个typedArraybuffer.这是我的代码:

var openFile = function(event) {
var input = event.target;
var audioContext = new AudioContext();

var reader = new FileReader();
reader.onload = function(){
var arrayBuffer = reader.result;
  console.log("arrayBuffer:");
  console.log(arrayBuffer);
  audioContext.decodeAudioData(arrayBuffer, decodedDone);

};
reader.readAsArrayBuffer(input.files[0]);
};
function decodedDone(decoded) {
var typedArray = new Uint32Array(decoded, 1, decoded.length);
  console.log("decoded");
  console.log(decoded);
  console.log("typedArray");
  console.log(typedArray);

for (i=0; i<10; i++)
{
    console.log(typedArray[i]);
}

}
Run Code Online (Sandbox Code Playgroud)

typedArray的元素都是0.我创建typedArray的方法是错误的还是我做了别的错误?

编辑:我终于明白了.这是我的代码:

var openFile = function(event) {
var input = event.target;
var audioContext = new AudioContext();

var reader …
Run Code Online (Sandbox Code Playgroud)

javascript arrays wav

9
推荐指数
1
解决办法
5871
查看次数

标签 统计

arrays ×1

javascript ×1

wav ×1