Итак, я делаю игру в XNA, и мне нужно использовать XACT для своих песен (а не медиаплеер). Мне нужно использовать XACT, потому что каждая песня будет иметь несколько слоев, которые объединяются при одновременном воспроизведении (бас, соло, ударные) и т. Д. Я не могу использовать медиаплеер, потому что медиаплеер может воспроизводить только одну песню за раз.
В любом случае, допустим, в моем проекте есть песня, играющая с XACT со следующим кодом
public SongController()
{
audioEngine = new AudioEngine(@"Content\Song1\Song1.xgs");
waveBank = new WaveBank(audioEngine, @"Content\Song1\Layers.xwb");
soundBank = new SoundBank(audioEngine, @"Content\Song1\SongLayers.xsb");
songTime = new PlayTime();
Vox = soundBank.GetCue("Vox");
BG = soundBank.GetCue("BG");
Bass = soundBank.GetCue("Bass");
Lead = soundBank.GetCue("Lead");
Other = soundBank.GetCue("Other");
Vox.SetVariable("CueVolume", 100.0f);
BG.SetVariable("CueVolume", 100.0f);
Bass.SetVariable("CueVolume", 100.0f);
Lead.SetVariable("CueVolume", 100.0f);
Other.SetVariable("CueVolume", 100.0f);
_bassVol = 100.0f;
_voxVol = 100.0f;
_leadVol = 100.0f;
_otherVol = 100.0f;
Vox.Play();
BG.Play();
Bass.Play();
Lead.Play();
Other.Play(); }
Поэтому, когда я смотрю на переменные в Vox или BG (они, кстати, Кью), я не могу найти какую-либо игровую позицию в них.
Итак, я предполагаю, что вопрос заключается в следующем: есть ли переменная, которую я могу запросить, чтобы найти эти данные, или мне нужно создать свой собственный класс, который начинает отсчитывать со времени, когда я запускаю песню?
Спасибо