我想加载一个我加载的.wav文件:
var selectedFile = document.getElementById('input').files[0];
我想将其加载到AudioContext
中,以便稍后将其用作我的WebRTC应用程序的流源。
我尝试使用文件阅读器作为ArrayBuffer
阅读,以便稍后将DecodeAudioData
加载到上下文中,但我不能让它工作。
提前致谢。
编辑:
我试过这样的
var selectedFile = document.getElementById('input').files[0];
//Creamos el lector de fichero
var reader = new FileReader();
//Leemos el fichero como un buffer
reader.readAsArrayBuffer(selectedFile);
// Esperamos a que termine de leer
while (reader.readyState !=2){
}
//Guardamos el resultado de la lectura
var buffer= reader.result;
//Creamos el contexto que luego introducira el audio en el peer
var context = new AudioContext();
context.decodeAudioData(buffer, function(audio) {
var AudioBuffer=audio;
},
function(e){"Error with decoding audio data" + e.err});
并且喜欢这个
var selectedFile = document.getElementById('input').files[0];
//Creamos el lector de fichero
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = function () {
var data = reader.result;
var buffer = new Int8Array(data);
output.value = JSON.stringify(array, null, ' ');
window.setTimeout(ReadFile, 1000);
};
reader.readAsArrayBuffer(selectedFile);
//Guardamos el resultado de la lectura
var buffer= reader.result;
console.log("Guarda resultado de la lectura");
//Creamos el contexto que luego introducira el audio en el peer
var context = new AudioContext();
console.log("Contexto creado");
context.decodeAudioData(buffer, function(audio) {
console.log("Descodificado");
var AudioBuffer=audio;
console.log("asignado");
},
function(e){"Error with decoding audio data" + e.err});