| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- * 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);
|