APIを使用して作成されたオーディオ ファイル/BLOB がありますMediaRecorder
。
let recorder = new MediaRecorder(this.stream)
let data = [];
recorder.ondataavailable = event => data.push(event.data);
そして録音が終了したら:
let superBlob = new Blob(data, { type: "video/webm" });
この BLOB を使用して を作成するにはどうすればよいでしょうかAudioBuffer
? 次のいずれかを行う必要があります:
Blob
オブジェクトを に変換して、( を返す)またはArrayBuffer
で使用できるようにして、AudioContext.decodeAudioData
AudioBuffer
Blob
オブジェクトを に変換し、それをFloat32Array
にコピーします。AudioBuffer
AudioBuffer.copyToChannel()
それを達成するためのヒントがあれば、ぜひ教えてください。乾杯!
ベストアンサー1
Blob
オブジェクトを に変換するにはArrayBuffer
、 を使用しますFileReader.readAsArrayBuffer
。
let fileReader = new FileReader();
let arrayBuffer;
fileReader.onloadend = () => {
arrayBuffer = fileReader.result;
}
fileReader.readAsArrayBuffer(superBlob);