code: function(id, repeat, volume) {
  			if (repeat == 0 || !Crafty.support.audio || !this.sounds[id])
  				return;
  			var s = this.sounds[id];
  			s.volume = s.obj.volume = volume || Crafty.audio.volume;
  			if (s.obj.currentTime)
  				s.obj.currentTime = 0;
  			if (this.muted)
  				s.obj.volume = 0;
  			s.obj.play();
  			s.played++;
  			s.obj.addEventListener("ended", function() {
  				if (s.played < repeat || repeat == -1) {
  					if (this.currentTime)
  						this.currentTime = 0;
  					this.play();
  					s.played++;
  				}
  			}, true);
  		}
docs: @
  #Crafty.audio.play
  @comp Crafty.audio
  @sign public this Crafty.audio.play(String id)
  @sign public this Crafty.audio.play(String id, Number repeatCount)
  @sign public this Crafty.audio.play(String id, Number repeatCount,Number volume)
  @param id - A string to refer to sounds
  @param repeatCount - Repeat count for the file, where -1 stands for repeat forever.
  @param volume - volume can be a number between 0.0 and 1.0
  
  Will play a sound previously added by using the ID that was used in `Crafty.audio.add`.
  Has a default maximum of 5 channels so that the same sound can play simultaneously unless all of the channels are playing.
  
  *Note that the implementation of HTML5 Audio is buggy at best.*
  
  @example
  ~~~
  Crafty.audio.play("walk");
  
  //play and repeat forever
  Crafty.audio.play("backgroundMusic", -1);
  Crafty.audio.play("explosion",1,0.5); //play sound once with volume of 50%
  ~~~