topical media & game development
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
(function() {
soundManager.url = './'
// Here is a bogus soundWrapper written as an example
.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.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.