2017-11-09 13:37:41 +00:00
|
|
|
var Class = require('../utils/Class');
|
2017-11-13 18:39:32 +00:00
|
|
|
var NOOP = require('../utils/NOOP');
|
|
|
|
var EventDispatcher = require('../events/EventDispatcher');
|
|
|
|
// Phaser.Sound.BaseSoundManager
|
2017-11-10 12:05:29 +00:00
|
|
|
var BaseSoundManager = new Class({
|
2017-11-13 18:39:32 +00:00
|
|
|
initialize: function BaseSoundManager(game) {
|
2017-11-10 18:05:26 +00:00
|
|
|
/**
|
2017-11-13 18:39:32 +00:00
|
|
|
* Local reference to game.
|
2017-11-16 14:23:35 +00:00
|
|
|
*
|
2017-11-13 18:39:32 +00:00
|
|
|
* @property {Phaser.Game} game
|
2017-11-10 18:05:26 +00:00
|
|
|
*/
|
|
|
|
this.game = game;
|
2017-11-13 18:39:32 +00:00
|
|
|
/**
|
|
|
|
* Global mute setting.
|
2017-11-16 14:23:35 +00:00
|
|
|
*
|
2017-11-13 18:39:32 +00:00
|
|
|
* @property {boolean} mute
|
|
|
|
*/
|
|
|
|
this.mute = false;
|
|
|
|
/**
|
|
|
|
* Global volume setting.
|
2017-11-16 14:23:35 +00:00
|
|
|
*
|
2017-11-13 18:39:32 +00:00
|
|
|
* @property {number} volume
|
|
|
|
*/
|
|
|
|
this.volume = 1;
|
|
|
|
/**
|
2017-11-16 14:23:35 +00:00
|
|
|
* Global playback rate at which all the audio assets will be played.
|
2017-11-13 18:39:32 +00:00
|
|
|
* Value of 1.0 plays the audio at full speed, 0.5 plays the audio at half speed
|
|
|
|
* and 2.0 doubles the audio's playback speed.
|
2017-11-16 14:23:35 +00:00
|
|
|
*
|
2017-11-13 18:39:32 +00:00
|
|
|
* @property {number} rate
|
|
|
|
*/
|
|
|
|
this.rate = 1;
|
|
|
|
/**
|
|
|
|
* Global amount of panning to apply.
|
|
|
|
* The value can range between -1 (full left pan) and 1 (full right pan).
|
|
|
|
* @property {number} pan
|
|
|
|
*/
|
|
|
|
this.pan = 0;
|
|
|
|
// TODO add fields for global spatialization options
|
|
|
|
/**
|
|
|
|
* Set to true to have all sound muted when the Phaser game
|
|
|
|
* pauses (such as on loss of focus), or set to false to keep audio playing, regardless of
|
|
|
|
* the game pause state. You may need to do this should you wish to control audio muting
|
|
|
|
* via external DOM buttons or similar.
|
|
|
|
* @property {boolean} muteOnPause
|
|
|
|
*/
|
|
|
|
this.muteOnPause = true;
|
2017-11-14 16:21:58 +00:00
|
|
|
this.sounds = [];
|
2017-11-13 18:39:32 +00:00
|
|
|
/**
|
|
|
|
* [description]
|
|
|
|
*
|
|
|
|
* @property {Phaser.Events.EventDispatcher} events
|
|
|
|
*/
|
|
|
|
this.events = new EventDispatcher();
|
|
|
|
},
|
|
|
|
add: NOOP,
|
|
|
|
addAudioSprite: NOOP,
|
|
|
|
addOscillator: NOOP,
|
|
|
|
remove: NOOP,
|
|
|
|
removeByKey: NOOP,
|
|
|
|
pauseAll: NOOP,
|
|
|
|
resumeAll: NOOP,
|
|
|
|
stopAll: NOOP,
|
|
|
|
update: NOOP,
|
|
|
|
destroy: NOOP
|
2017-11-10 18:05:26 +00:00
|
|
|
});
|
2017-11-10 12:05:29 +00:00
|
|
|
module.exports = BaseSoundManager;
|