1
下記のように、オーディオファイル(wav、mp3を含む)のチャンネル数を取得するには、decodeAudioData()を使用する方法しかないようです。しかし、私はCPUの多くを使用するオーディオファイル全体をデコードせずにチャンネル数を取得できるようにしたい(私はそのCPUと思う)。decodeAudioData()を使用せずにオーディオファイルのチャンネル数を取得するにはどうすればよいですか?
これを達成する他の方法はありますか?そうでない場合は、ファイルのセクションのみをデコードする方法はありますか?
ありがとうございます!
audio_file.onchange = function() {
let files = this.files;
let file = URL.createObjectURL(files[0]);
let xhr = new XMLHttpRequest();
xhr.open('GET', file, true);
xhr.responseType = "arraybuffer";
xhr.onload =() => {
audioContext.decodeAudioData(xhr.response).then((buffer) => {
CHANNEL_COUNT = buffer.numberOfChannels;
if (CHANNEL_COUNT === 4){
document.querySelector('.status').innerHTML = 'FOA file detected';
}
else {
document.querySelector('.status').innerHTML = "Audio file with " + CHANNEL_COUNT + " channels detected";
}
});
}
xhr.send(null);
audioElement.src = file;
audioElement.load();
};