そのため、XNA でゲームを作成しており、曲には (メディア プレーヤーではなく) XACT を使用する必要があります。XACT を使用する必要があるのは、各曲を同時に再生すると結合する複数のレイヤー (ベース、リード、ドラム) などがあるためです。メディア プレーヤーは一度に 1 つの曲しか再生できないため、メディア プレーヤーを使用できません。
とにかく、プロジェクトで次のコードを使用して 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 の変数 (それらは Cue のものです) を見ると、それらの中で再生位置を見つけることができないようです。
質問は次のとおりだと思います: そのデータを見つけるためにクエリできる変数はありますか? それとも、曲を開始した時点からカウントアップを開始する独自のクラスを作成する必要がありますか?
ありがとう