mirror of
https://github.com/Febbweiss/febbweiss.github.io.git
synced 2026-03-04 22:25:43 +00:00
Initial commit
This commit is contained in:
80
demo/pacman/lib/gamequery-soundwrapper-soundmanager.js
Normal file
80
demo/pacman/lib/gamequery-soundwrapper-soundmanager.js
Normal file
@@ -0,0 +1,80 @@
|
||||
/**
|
||||
* 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);
|
||||
Reference in New Issue
Block a user