44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
function soundSystem(controller){
|
|
|
|
var _this = this;
|
|
var _speed=0;
|
|
var _circles = [];
|
|
var _circleID = -1;
|
|
var _measures = [];
|
|
var _sounds = assets.sounds;
|
|
var _channels=[];
|
|
var _channelMAX=20;
|
|
|
|
for (var i=0;i<_channelMAX;i++) {// prepare the channels
|
|
_channels[i] = {};
|
|
_channels[i]["end"] = -1;
|
|
_channels[i]["audio"] = new Audio();
|
|
}
|
|
|
|
this.playSound = function(soundID){
|
|
|
|
for(var i=0;i<_channelMAX;i++){ //play in different sounds in different channels
|
|
var now = new Date();
|
|
if (_channels[i]["end"] < now.getTime()) {// is this channel finished?
|
|
_channels[i]["end"] = now.getTime() + _sounds[soundID].duration*1000;
|
|
_channels[i]["audio"].src = _sounds[soundID].src;
|
|
_channels[i]["audio"].load();
|
|
_channels[i]["audio"].play();
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
this.fadeOutMusic = function(){
|
|
|
|
if(_sounds["main-music"].volume.toFixed(1)!=0.0){
|
|
_sounds["main-music"].volume-=0.1;
|
|
}
|
|
else{
|
|
_sounds["main-music"].pause();
|
|
controller.fadeOutOver();
|
|
}
|
|
}
|
|
|
|
} |