Browse Source

Replace howler.js with simple <audio />, will hopefully resolve

some weird mobile browser behaviours
closed-social-glitch-2
Eugen Rochko 7 years ago
parent
commit
952bce3023
4 changed files with 33 additions and 29 deletions
  1. +22
    -0
      app/assets/javascripts/components/middleware/sounds.jsx
  2. +2
    -9
      app/assets/javascripts/components/store/configureStore.jsx
  3. +0
    -1
      package.json
  4. +9
    -19
      yarn.lock

+ 22
- 0
app/assets/javascripts/components/middleware/sounds.jsx View 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);
};
};

+ 2
- 9
app/assets/javascripts/components/store/configureStore.jsx View File

@ -3,21 +3,14 @@ import thunk from 'redux-thunk';
import appReducer from '../reducers';
import loadingBarMiddleware from '../middleware/loading_bar';
import errorsMiddleware from '../middleware/errors';
import soundsMiddleware from 'redux-sounds';
import Howler from 'howler';
import soundsMiddleware from '../middleware/sounds';
import Immutable from 'immutable';
Howler.mobileAutoEnable = false;
const soundsData = {
boop: '/sounds/boop.mp3'
};
export default function configureStore() {
return createStore(appReducer, compose(applyMiddleware(
thunk,
loadingBarMiddleware({ promiseTypeSuffixes: ['REQUEST', 'SUCCESS', 'FAIL'] }),
errorsMiddleware(),
soundsMiddleware(soundsData)
soundsMiddleware()
), window.devToolsExtension ? window.devToolsExtension() : f => f));
};

+ 0
- 1
package.json View File

@ -62,7 +62,6 @@
"redis": "^2.6.5",
"redux": "^3.6.0",
"redux-immutable": "^3.1.0",
"redux-sounds": "^1.1.1",
"redux-thunk": "^2.2.0",
"reselect": "^2.5.4",
"sass-loader": "^6.0.2",

+ 9
- 19
yarn.lock View File

@ -2915,10 +2915,6 @@ hosted-git-info@^2.1.4:
version "2.1.5"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
howler@^1.1.28:
version "1.1.29"
resolved "https://registry.yarnpkg.com/howler/-/howler-1.1.29.tgz#9a3a7fa69e9b9d805c65ad98f66e35893a597b63"
html-comment-regex@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
@ -3638,11 +3634,11 @@ lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1:
lodash@4.x.x, lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
lodash@^4.2.0, lodash@^4.6.1, lodash@~4.16.4:
lodash@^4.15.0, lodash@^4.2.0, lodash@^4.6.1, lodash@~4.16.4:
version "4.16.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127"
@ -3654,18 +3650,18 @@ longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f"
dependencies:
js-tokens "^1.0.1"
loose-envify@^1.3.0:
loose-envify@^1.0.0, loose-envify@^1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
loose-envify@^1.1.0, loose-envify@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.2.0.tgz#69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f"
dependencies:
js-tokens "^1.0.1"
loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
@ -5202,12 +5198,6 @@ redux-immutable@^3.1.0:
dependencies:
immutable "^3.8.1"
redux-sounds@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/redux-sounds/-/redux-sounds-1.1.1.tgz#7a31052dbc617d419c53056215865762f44adb7e"
dependencies:
howler "^1.1.28"
redux-thunk@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5"

Loading…
Cancel
Save