Replace howler.js with simple <audio />, will hopefully resolve
some weird mobile browser behaviours
This commit is contained in:
22
app/assets/javascripts/components/middleware/sounds.jsx
Normal file
22
app/assets/javascripts/components/middleware/sounds.jsx
Normal file
@ -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);
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user