22 lines
		
	
	
	
		
			439 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			439 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 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);
 | |
|   };
 | |
| };
 |