Skip to content

Commit a98aedc

Browse files
committed
Merge pull request #2469 from VisualSJ/develop-audio1135
Fixed a bug that audio is undefined
2 parents 64f1bc7 + b7ea584 commit a98aedc

File tree

1 file changed

+13
-25
lines changed

1 file changed

+13
-25
lines changed

cocos2d/audio/CCAudio.js

+13-25
Original file line numberDiff line numberDiff line change
@@ -271,15 +271,6 @@ cc.Audio = cc.Class.extend({
271271
};
272272
},
273273

274-
_recklessPlay: function(offset){
275-
if(!this._buffer) return;
276-
var audio = this._context["createBufferSource"]();
277-
audio.buffer = this._buffer;
278-
audio["connect"](this._volume);
279-
audio.loop = this.loop;
280-
audio.start(0, offset || 0);
281-
},
282-
283274
_playOfAudio: function(){
284275
var audio = this._element;
285276
if(audio){
@@ -673,7 +664,7 @@ cc.Audio = cc.Class.extend({
673664
},
674665

675666
_audioPool: {},
676-
_maxAudioInstance: SWA ? 20 : 5,
667+
_maxAudioInstance: 5,
677668
_effectVolume: 1,
678669
/**
679670
* Play sound effect.
@@ -689,14 +680,7 @@ cc.Audio = cc.Class.extend({
689680
if(!SWB){
690681
//Must be forced to shut down
691682
//Because playing multichannel audio will be stuck in chrome 28 (android)
692-
return;
693-
}else if(SWA){
694-
var audio = loader.cache[url];
695-
if(!audio){
696-
cc.loader.load(url);
697-
audio = loader.cache[url];
698-
}
699-
return audio._recklessPlay();
683+
return null;
700684
}
701685

702686
var effectList = this._audioPool[url];
@@ -713,9 +697,10 @@ cc.Audio = cc.Class.extend({
713697
}
714698

715699
if(effectList[i]){
716-
effectList[i].setVolume(this._effectVolume);
717-
effectList[i].play(0, loop);
718-
}else if(i > this._maxAudioInstance){
700+
audio = effectList[i];
701+
audio.setVolume(this._effectVolume);
702+
audio.play(0, loop);
703+
}else if(SWA && i > this._maxAudioInstance){
719704
cc.log("Error: %s greater than %d", url, this._maxAudioInstance);
720705
}else{
721706
var audio = loader.cache[url];
@@ -728,7 +713,6 @@ cc.Audio = cc.Class.extend({
728713
audio.play();
729714
effectList.push(audio);
730715
}
731-
console.log(effectList.length)
732716

733717
return audio;
734718
},
@@ -763,7 +747,9 @@ cc.Audio = cc.Class.extend({
763747
* cc.audioEngine.pauseEffect(audioID);
764748
*/
765749
pauseEffect: function(audio){
766-
audio.pause();
750+
if(audio){
751+
audio.pause();
752+
}
767753
},
768754

769755
/**
@@ -792,7 +778,8 @@ cc.Audio = cc.Class.extend({
792778
* cc.audioEngine.resumeEffect(audioID);
793779
*/
794780
resumeEffect: function(audio){
795-
audio.resume();
781+
if(audio)
782+
audio.resume();
796783
},
797784

798785
/**
@@ -819,7 +806,8 @@ cc.Audio = cc.Class.extend({
819806
* cc.audioEngine.stopEffect(audioID);
820807
*/
821808
stopEffect: function(audio){
822-
audio.stop();
809+
if(audio)
810+
audio.stop();
823811
},
824812

825813
/**

0 commit comments

Comments
 (0)