From 2fba4196efd594bcd8922ab479569ac614b9beea Mon Sep 17 00:00:00 2001
From: Yamagishi Kazutoshi <ykzts@desire.sh>
Date: Wed, 10 May 2017 23:58:54 +0900
Subject: [PATCH] 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.
---
 app/javascript/mastodon/middleware/sounds.js |  22 ++++++++++++++++++-
 public/sounds/boop.ogg                       | Bin 0 -> 5164 bytes
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 public/sounds/boop.ogg

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) => {
diff --git a/public/sounds/boop.ogg b/public/sounds/boop.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..a2124e1167d9c2c357d98238f89598f8295cbcdb
GIT binary patch
literal 5164
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
ITTSQwKa+}Z7XSbN

literal 0
HcmV?d00001

-- 
GitLab