diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/webaudioeditor/test/doc_buffer-and-array.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/webaudioeditor/test/doc_buffer-and-array.html')
-rw-r--r-- | devtools/client/webaudioeditor/test/doc_buffer-and-array.html | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/doc_buffer-and-array.html b/devtools/client/webaudioeditor/test/doc_buffer-and-array.html new file mode 100644 index 000000000..ef4cec8b6 --- /dev/null +++ b/devtools/client/webaudioeditor/test/doc_buffer-and-array.html @@ -0,0 +1,56 @@ +<!-- Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ --> +<!doctype html> + +<html> + <head> + <meta charset="utf-8"/> + <title>Web Audio Editor test page</title> + </head> + + <body> + + <script type="text/javascript;version=1.8"> + "use strict"; + + let audioURL = "http://example.com/browser/devtools/client/webaudioeditor/test/440hz_sine.ogg"; + + let ctx = new AudioContext(); + let bufferNode = ctx.createBufferSource(); + let shaperNode = ctx.createWaveShaper(); + shaperNode.curve = generateWaveShapingCurve(); + + let xhr = getBuffer(audioURL, () => { + ctx.decodeAudioData(xhr.response, (buffer) => { + bufferNode.buffer = buffer; + bufferNode.connect(shaperNode); + shaperNode.connect(ctx.destination); + }); + }); + + function generateWaveShapingCurve() { + let frames = 65536; + let curve = new Float32Array(frames); + let n = frames; + let n2 = n / 2; + + for (let i = 0; i < n; ++i) { + let x = (i - n2) / n2; + let y = Math.atan(5 * x) / (0.5 * Math.PI); + } + + return curve; + } + + function getBuffer (url, callback) { + let xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = callback; + xhr.send(); + return xhr; + } + </script> + </body> + +</html> |