about summary refs log tree commit diff
path: root/app/javascript/mastodon/middleware
diff options
context:
space:
mode:
authorYamagishi Kazutoshi <ykzts@desire.sh>2017-05-10 23:58:54 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-05-10 16:58:54 +0200
commit2fba4196efd594bcd8922ab479569ac614b9beea (patch)
tree9a477355fec358099c52c06c69827a0378d02a62 /app/javascript/mastodon/middleware
parentfd66f7cdc0931a67a2e24d887fb79f44fc42e2bc (diff)
Add boop sounds in Vorbis format (#2963)
Vorbis is audio format of Open Source.
Can play audio in a free environment where you can not play mp3.
Diffstat (limited to 'app/javascript/mastodon/middleware')
-rw-r--r--app/javascript/mastodon/middleware/sounds.js22
1 files changed, 21 insertions, 1 deletions
diff --git a/app/javascript/mastodon/middleware/sounds.js b/app/javascript/mastodon/middleware/sounds.js
index 200efa3d7..639214b14 100644
--- a/app/javascript/mastodon/middleware/sounds.js
+++ b/app/javascript/mastodon/middleware/sounds.js
@@ -1,3 +1,14 @@
+const createAudio = sources => {
+  const audio = new Audio();
+  sources.forEach(({ type, src }) => {
+    const source = document.createElement('source');
+    source.type = type;
+    source.src = src;
+    audio.appendChild(source);
+  });
+  return audio;
+}
+
 const play = audio => {
   if (!audio.paused) {
     audio.pause();
@@ -9,7 +20,16 @@ const play = audio => {
 
 export default function soundsMiddleware() {
   const soundCache = {
-    boop: new Audio(['/sounds/boop.mp3'])
+    boop: createAudio([
+      {
+        src: '/sounds/boop.ogg',
+        type: 'audio/ogg',
+      },
+      {
+        src: '/sounds/boop.mp3',
+        type: 'audio/mpeg'
+      },
+    ]),
   };
 
   return ({ dispatch }) => next => (action) => {