VLCで再生されるこのWAVファイルを再生するのに苦労しています(これは、Mono
でIMA WAV APDCM Audio (ms)
サンプリングされたファイルです24000Hz
)16 bits per sample
。
を介し て直接埋め込んで再生しようとすると、再生ボタンが非アクティブになっているため、WAV ファイル自体に問題があると思われ<audio>
ます... を使用してプログラムで再生しようとするとnew Audio()
、エラーが発生しますFailed to load because no supported source was found.
これは、いくつかのサウンドを生成するために私が試したものの最も簡単な例です...AudioContext.decodeAudioData
オーディオのロード時にすべてのチョークを使用しようとする他の試み、 Unable to decode audio data
.
AudioBuffer
この例では、ある程度認識できるサウンドが生成されますが、非常に引っかき傷があるため、明らかに何か間違ったことをFloat32Array
し[-1,1]
ています。しかし、値の多くは のオーダーであるため、それらを正規化する方法がわかりません10e32
。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
</style>
</head>
<body>
<script>
var context = new AudioContext();
function loadSound(url) {
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.responseType = "arraybuffer";
request.onload = function() {
data = new Uint8Array(request.response);
var buffer = context.createBuffer(1, data.length, 24000);
var channelData = buffer.getChannelData(0);
for (var i = 0; i < data.length; i++) {
channelData[i] = data[i];
}
var source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.start(0);
}
request.send();
}
loadSound('./test.wav');
</script>
</body>
</html>
助けていただければ幸いです。ありがとう!