+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();
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) => {