dist/howler.js
function() {
      var self = this || Howler;

      // Keeps track of the suspend/resume state of the AudioContext.
      self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';

      // Automatically begin the 30-second suspend process
      self._autoSuspend();

      // Check if audio is available.
      if (!self.usingWebAudio) {
        // No audio is available on this system if noAudio is set to true.
        if (typeof Audio !== 'undefined') {
          try {
            var test = new Audio();

            // Check if the canplaythrough event is available.
            if (typeof test.oncanplaythrough === 'undefined') {
              self._canPlayEvent = 'canplay';
            }
          } catch(e) {
            self.noAudio = true;
          }
        } else {
          self.noAudio = true;
        }
      }

      // Test to make sure audio isn't disabled in Internet Explorer.
      try {
        var test = new Audio();
        if (test.muted) {
          self.noAudio = true;
        }
      } catch (e) {}

      // Check for supported codecs.
      if (!self.noAudio) {
        self._setupCodecs();
      }

      return self;
    }
function() {
      var self = this || Howler;

      // Keeps track of the suspend/resume state of the AudioContext.
      self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';

      // Automatically begin the 30-second suspend process
      self._autoSuspend();

      // Check if audio is available.
      if (!self.usingWebAudio) {
        // No audio is available on this system if noAudio is set to true.
        if (typeof Audio !== 'undefined') {
          try {
            var test = new Audio();

            // Check if the canplaythrough event is available.
            if (typeof test.oncanplaythrough === 'undefined') {
              self._canPlayEvent = 'canplay';
            }
          } catch(e) {
            self.noAudio = true;
          }
        } else {
          self.noAudio = true;
        }
      }

      // Test to make sure audio isn't disabled in Internet Explorer.
      try {
        var test = new Audio();
        if (test.muted) {
          self.noAudio = true;
        }
      } catch (e) {}

      // Check for supported codecs.
      if (!self.noAudio) {
        self._setupCodecs();
      }

      return self;
    }
function ( ) { var self = this || Howler ; // Keeps track of the suspend/resume state of the AudioContext. self . state = self . ctx ? self . ctx . state || 'suspended' : 'suspended' ; // Automatically begin the 30-second suspend process self . _autoSuspend ( ) ; // Check if audio is available. if ( ! self . usingWebAudio ) { // No audio is available on this system if noAudio is set to true. if ( typeof Audio !== 'undefined' ) { try { var test = new Audio ( ) ; // Check if the canplaythrough event is available. if ( typeof test . oncanplaythrough === 'undefined' ) { self . _canPlayEvent = 'canplay' ; } } catch ( e ) { self . noAudio = true ; } } else { self . noAudio = true ; } } // Test to make sure audio isn't disabled in Internet Explorer. try { var test = new Audio ( ) ; if ( test . muted ) { self . noAudio = true ; } } catch ( e ) { } // Check for supported codecs. if ( ! self . noAudio ) { self . _setupCodecs ( ) ; } return self ; }
Setup various state values for global tracking.
@return {Howler}
Setup various state values for global tracking .