diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-03-13 17:12:30 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-03-13 17:12:30 +0100 |
commit | 952bce302373c6903458c2a11236ae145e0bea71 (patch) | |
tree | 216f521d0f2a28a360984441af154e828a582ece /app/assets/javascripts/components/middleware/sounds.jsx | |
parent | a5daa806f2e4f824925aa1558202458bd3af7a0a (diff) |
Replace howler.js with simple <audio />, will hopefully resolve
some weird mobile browser behaviours
Diffstat (limited to 'app/assets/javascripts/components/middleware/sounds.jsx')
-rw-r--r-- | app/assets/javascripts/components/middleware/sounds.jsx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/middleware/sounds.jsx b/app/assets/javascripts/components/middleware/sounds.jsx new file mode 100644 index 000000000..200efa3d7 --- /dev/null +++ b/app/assets/javascripts/components/middleware/sounds.jsx @@ -0,0 +1,22 @@ +const play = audio => { + if (!audio.paused) { + audio.pause(); + audio.fastSeek(0); + } + + audio.play(); +}; + +export default function soundsMiddleware() { + const soundCache = { + boop: new Audio(['/sounds/boop.mp3']) + }; + + return ({ dispatch }) => next => (action) => { + if (action.meta && action.meta.sound && soundCache[action.meta.sound]) { + play(soundCache[action.meta.sound]); + } + + return next(action); + }; +}; |