57 lines
1.3 KiB
HTML
57 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<!--
|
|
This is a very basic test to make sure testRunner.setAudioResult() works correctly.
|
|
It generates a 2 seconds long stereo result @44.1KHz
|
|
The left channel will be a 880Hz tone, while the right will be 440Hz.
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<script src="../resources/js-test.js"></script>
|
|
<script type="text/javascript" src="resources/audio-testing.js"></script>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div id="description"></div>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("Tests basic audio test infrastructure: specifically testRunner.setAudioResult()");
|
|
|
|
var sampleRate = 44100.0;
|
|
var lengthInSeconds = 2;
|
|
|
|
function generateSinWave(audioBuffer) {
|
|
var n = audioBuffer.length;
|
|
var channelL = audioBuffer.getChannelData(0);
|
|
var channelR = audioBuffer.getChannelData(1);
|
|
var sampleRate = audioBuffer.sampleRate;
|
|
|
|
for (var i = 0; i < n; ++i) {
|
|
channelL[i] = Math.sin(880.0 * 2.0*Math.PI * i / sampleRate);
|
|
channelR[i] = Math.sin(440.0 * 2.0*Math.PI * i / sampleRate);
|
|
}
|
|
}
|
|
|
|
function runTest() {
|
|
if (!window.testRunner)
|
|
return;
|
|
|
|
var context = new AudioContext();
|
|
var audioBuffer = context.createBuffer(2, lengthInSeconds * sampleRate, sampleRate);
|
|
|
|
generateSinWave(audioBuffer);
|
|
|
|
var audioData = createAudioData(audioBuffer);
|
|
testRunner.setAudioResult(audioData);
|
|
}
|
|
|
|
runTest();
|
|
|
|
</script>
|
|
<body>
|
|
</body>
|
|
</html>
|