You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
439 B

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);
};
};