Spaces:
Running
Running
File size: 1,015 Bytes
6bcb42f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import StartAudioContext from 'startaudiocontext';
import bowser from 'bowser';
import log from '../log';
let AUDIO_CONTEXT;
if (!bowser.msie) {
/**
* AudioContext can be initialized only when user interaction event happens
*/
const event =
typeof document.ontouchstart === 'undefined' ?
'mousedown' :
'touchstart';
const initAudioContext = () => {
document.removeEventListener(event, initAudioContext);
try {
AUDIO_CONTEXT = new (window.AudioContext || window.webkitAudioContext)();
StartAudioContext(AUDIO_CONTEXT);
} catch (e) {
log.error('could not create shared audio context; sound-related features will not be available', e);
}
};
document.addEventListener(event, initAudioContext);
}
/**
* Wrap browser AudioContext because we shouldn't create more than one
* @return {AudioContext} The singleton AudioContext
*/
export default function () {
return AUDIO_CONTEXT;
}
|