Files
taiko-web/src/js/soundsystem.js
2015-07-18 14:07:34 +09:00

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();
}
}
}