Source: getAudioContext.js

  1. /**
  2. * Ensures that there is only one Web Audio context per page.
  3. * Sets up a new AudioContext the first time it's called; then re-uses it.
  4. * @private
  5. * @returns {AudioContext} page-global Web Audio context
  6. */
  7. var getAudioContext = (function() {
  8. let audioContext = null
  9. if (window.AudioContext !== undefined) {
  10. audioContext = new window.AudioContext()
  11. } else if (window.webkitAudioContext !== undefined) {
  12. /* eslint-disable new-cap */
  13. audioContext = new window.webkitAudioContext()
  14. /* eslint-enable new-cap */
  15. }
  16. function _getAudioContext() {
  17. return audioContext
  18. }
  19. return _getAudioContext
  20. })()