@@ -118,7 +118,7 @@ cc.Audio = cc.Class.extend({
118
118
cc . Audio . touchPlayList . push ( { loop : loop , offset : offset , audio : this . _element } ) ;
119
119
}
120
120
121
- if ( cc . Audio . bindTouch === false ) {
121
+ if ( cc . Audio . bindTouch === false && this . _element . paused ) {
122
122
cc . Audio . bindTouch = true ;
123
123
// Listen to the touchstart body event and play the audio when necessary.
124
124
cc . game . canvas . addEventListener ( 'touchstart' , cc . Audio . touchStart ) ;
@@ -391,8 +391,6 @@ cc.Audio.WebAudio.prototype = {
391
391
if ( audio )
392
392
return cb ( null , audio ) ;
393
393
394
- var i ;
395
-
396
394
if ( cc . loader . audioPath )
397
395
realUrl = cc . path . join ( cc . loader . audioPath , realUrl ) ;
398
396
@@ -528,6 +526,12 @@ cc.Audio.WebAudio.prototype = {
528
526
stopMusic : function ( releaseData ) {
529
527
var audio = this . _currMusic ;
530
528
if ( audio ) {
529
+ var list = cc . Audio . touchPlayList ;
530
+ for ( var i = list . length - 1 ; i >= 0 ; -- i ) {
531
+ if ( this [ i ] && this [ i ] . audio === audio . _element )
532
+ list . splice ( i , 1 ) ;
533
+ }
534
+
531
535
audio . stop ( ) ;
532
536
this . _currMusic = null ;
533
537
if ( releaseData )
@@ -541,7 +545,7 @@ cc.Audio.WebAudio.prototype = {
541
545
* //example
542
546
* cc.audioEngine.pauseMusic();
543
547
*/
544
- pauseMusic : function ( ) {
548
+ pauseMusic : function ( ) {
545
549
var audio = this . _currMusic ;
546
550
if ( audio )
547
551
audio . pause ( ) ;
@@ -553,7 +557,7 @@ cc.Audio.WebAudio.prototype = {
553
557
* //example
554
558
* cc.audioEngine.resumeMusic();
555
559
*/
556
- resumeMusic : function ( ) {
560
+ resumeMusic : function ( ) {
557
561
var audio = this . _currMusic ;
558
562
if ( audio )
559
563
audio . resume ( ) ;
@@ -649,9 +653,7 @@ cc.Audio.WebAudio.prototype = {
649
653
effectList = this . _audioPool [ url ] = [ ] ;
650
654
}
651
655
652
- var i ;
653
-
654
- for ( i = 0 ; i < effectList . length ; i ++ ) {
656
+ for ( var i = 0 ; i < effectList . length ; i ++ ) {
655
657
if ( ! effectList [ i ] . getPlaying ( ) ) {
656
658
break ;
657
659
}
0 commit comments