File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ var GlobalInputManager = require('../input/global/GlobalInputManager');
1717var GlobalSceneManager = require ( '../scene/global/GlobalSceneManager' ) ;
1818var TextureManager = require ( '../textures/TextureManager' ) ;
1919var TimeStep = require ( './TimeStep' ) ;
20- var BaseSoundManager = require ( '../sound/BaseSoundManager ' ) ;
20+ var SoundManagerCreator = require ( '../sound/SoundManagerCreator ' ) ;
2121
2222var Game = new Class ( {
2323
@@ -138,7 +138,7 @@ var Game = new Class({
138138 *
139139 * @property {Phaser.BaseSoundManager } sound
140140 */
141- this . sound = BaseSoundManager . create ( this ) ;
141+ this . sound = SoundManagerCreator . create ( this ) ;
142142
143143 /**
144144 * [description]
Original file line number Diff line number Diff line change 11var Class = require ( '../utils/Class' ) ;
2- var WebAudioSoundManager = require ( './WebAudioSoundManager' ) ;
32
43// Phaser.Loader.BaseSoundManager
54
65var BaseSoundManager = new Class ( {
76
87 // TODO define sound manager interface
98
10- } ) ;
11-
12- BaseSoundManager . create = function ( game )
13- {
14- var audioConfig = game . config . audio ;
15- var deviceAudio = game . device . Audio ;
16-
17- if ( ( audioConfig && audioConfig . noAudio ) || ( ! deviceAudio . webAudio && ! deviceAudio . audioData ) )
18- {
19- return new BaseSoundManager ( game ) ;
20- }
9+ initialize :
2110
22- if ( deviceAudio . webAudio && ! ( audioConfig && audioConfig . disableWebAudio ) )
11+ function BaseSoundManager ( game )
2312 {
24- return new WebAudioSoundManager ( game ) ;
13+ /**
14+ * @property {Phaser.Game } game - Local reference to game.
15+ */
16+ this . game = game ;
2517 }
2618
27- // TODO return HTML5 Audio sound manager
28- return new BaseSoundManager ( game ) ;
29- } ;
19+ } ) ;
3020
3121module . exports = BaseSoundManager ;
Original file line number Diff line number Diff line change 1+ var BaseSoundManager = require ( './BaseSoundManager' ) ;
2+ var WebAudioSoundManager = require ( './WebAudioSoundManager' ) ;
3+
4+ var SoundManagerCreator = {
5+
6+ create : function ( game )
7+ {
8+ var audioConfig = game . config . audio ;
9+ var deviceAudio = game . device . Audio ;
10+
11+ if ( ( audioConfig && audioConfig . noAudio ) || ( ! deviceAudio . webAudio && ! deviceAudio . audioData ) )
12+ {
13+ // TODO add no audio implementation of BaseSoundManager
14+ return new BaseSoundManager ( game ) ;
15+ }
16+
17+ if ( deviceAudio . webAudio && ! ( audioConfig && audioConfig . disableWebAudio ) )
18+ {
19+ return new WebAudioSoundManager ( game ) ;
20+ }
21+
22+ // TODO return HTML5 Audio sound manager
23+ return new BaseSoundManager ( game ) ;
24+ }
25+
26+ } ;
27+
28+ module . exports = SoundManagerCreator ;
Original file line number Diff line number Diff line change @@ -11,10 +11,7 @@ var WebAudioSoundManager = new Class({
1111
1212 function WebAudioSoundManager ( game )
1313 {
14- /**
15- * @property {Phaser.Game } game - Local reference to game.
16- */
17- this . game = game ;
14+ BaseSoundManager . call ( this , game ) ;
1815
1916 /**
2017 * @property {AudioContext } context - The AudioContext being used for playback.
@@ -25,9 +22,11 @@ var WebAudioSoundManager = new Class({
2522
2623 createAudioContext : function ( )
2724 {
28- if ( this . game . config . audio . context )
25+ var audioConfig = this . game . config . audio ;
26+
27+ if ( audioConfig && audioConfig . context )
2928 {
30- return this . game . config . audio . context ;
29+ return audioConfig . context ;
3130 }
3231
3332 return new ( window [ 'AudioContext' ] || window [ 'webkitAudioContext' ] ) ( ) ;
You can’t perform that action at this time.
0 commit comments