public static void Play(DDMusic music, bool once = false, bool resume = false, double volume = 1.0, int fadeFrameMax = 30) { if (CurrDestMusic != null) // ? 再生中 { if (CurrDestMusic == music) { return; } if (1 <= fadeFrameMax) { Fade(fadeFrameMax, 0.0, CurrDestVolume); } else { Stop(); } } PlayInfos.Enqueue(new PlayInfo(PlayInfo.Command_e.PLAY, music, once, resume, 0.0)); PlayInfos.Enqueue(null); PlayInfos.Enqueue(new PlayInfo(PlayInfo.Command_e.VOLUME_RATE, music, false, false, volume)); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); CurrDestMusic = music; CurrDestVolume = volume; }
public PlayInfo(Command_e command, DDMusic music, bool once, bool resume, double volumeRate) { this.Command = command; this.Music = music; this.Once = once; this.Resume = resume; this.VolumeRate = volumeRate; }
public static void Stop() { if (CurrDestMusic == null) { return; } PlayInfos.Enqueue(new PlayInfo(PlayInfo.Command_e.VOLUME_RATE, CurrDestMusic, false, false, 0.0)); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); PlayInfos.Enqueue(new PlayInfo(PlayInfo.Command_e.STOP, CurrDestMusic, false, false, 0.0)); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); PlayInfos.Enqueue(null); CurrDestMusic = null; CurrDestVolume = 0.0; }
public static void Add(DDMusic music) { Musics.Add(music); }