summaryrefslogtreecommitdiffstats
path: root/dom/base/test/file_webaudioLoop.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/base/test/file_webaudioLoop.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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.html44
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>