topical media & game development

talk show tell print

mobile-query-game-jquery.gamequery.soundwrapper.soundmanager2.js / js



  
gameQuery rev. Revision Copyright (c) 2008 Selim Arsever (gamequery.onaluf.org) licensed under the MIT (MIT-LICENSE.txt)

  
  
   
To use this wrapper you will need: 1) Include SoundManager2.js before this script 2) Give SoundManager2 the position of the swf ie. : soundManager.url = './path/to/swf' 3) Optionally deactivate the debug mode from SoundManager2

  
  
  // this allows use of the convenient  notation in a plugin
  (function() {
      soundManager.url = './'
      // Here is a bogus soundWrapper written as an example
      .extend(.gameQuery, {
          SoundWrapper: function(url, loop) {
  
              // start loading the sound. Should turn this.ready to true once done.
              this.load  = function(){
                      try{
                          this.sound = soundManager.createSound({
                              id: this.id,
                              url: url,
                              autoplay: false,
                              autoLoad: true
                          });
                } catch (err) {
                        // if something failed we generate a fake sound object
                                this.sound = {readyState: 3, play: function(){}};
                }
              };
  
              // plays the sound if this.ready == true
              this.play  = function(){
                  if(loop){
                      this.sound.play({
                          onfinish: function() {
                              this.play();
                          }
                      });
                  } else {
                      this.sound.play();
                  }
              };
  
              // pauses the sound if it is playing
              this.pause = function(){
                  this.sound.pause();
              };
  
              // stops the sound if it is playing, rewind (even if paused)
              this.stop  = function(){
                  this.sound.stop();
              };
  
              // mutes the sound without stopping it
              this.muted = function(mute){
                  if(mute){
                      this.sound.mute()
                  } else {
                      this.sound.unmute();
                  }
              }
  
              // returns true if the sound is ready to be played
              this.ready = function(){
                  return this.sound.readyState==3
              };
  
              // add the sound to the manager
              this.id = 'sound_'+.gameQuery.resourceManager.sounds.length;
              .gameQuery.resourceManager.addSound(this);
  
              return true;
          }});
  })(jQuery);


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.