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