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 /dom/base/test/file_webaudioLoop.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 'dom/base/test/file_webaudioLoop.html')
-rw-r--r-- | dom/base/test/file_webaudioLoop.html | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/base/test/file_webaudioLoop.html b/dom/base/test/file_webaudioLoop.html new file mode 100644 index 000000000..c255bc541 --- /dev/null +++ b/dom/base/test/file_webaudioLoop.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<script> +var ac = new AudioContext(); +var runningPromise = new Promise(resolve => { + ac.onstatechange = event => { + if (ac.state == "running") { + resolve(); + } + }; +}); +fetch("audio.ogg").then(response => { + return response.arrayBuffer(); +}).then(ab => { + return ac.decodeAudioData(ab); +}).then(ab => { + var src = ac.createBufferSource(); + src.buffer = ab; + src.loop = true; + src.loopStart = 0; + src.loopEnd = ab.duration; + src.start(); + src.connect(ac.destination); +}); + +var suspendPromise; +function suspendAC() { + runningPromise.then(() => { + suspendPromise = ac.suspend(); + }); +} + +var resumePromise; +function resumeAC() { + suspendPromise.then(() => { + resumePromise = ac.resume(); + }); +} + +function closeAC() { + resumePromise.then(() => { + ac.close(); + }); +} +</script> |