XNA でゲームを作成していますが、このゲームは多数の音楽ループを互いに重ねて動作しますが、これらのサウンドを同期させることができないようです。
私はいつも数ミリ秒単位で見逃してしまいます。助けてもらえますか?
これは、サウンドを同期する最初の試みです。何十ものサウンドを扱う必要があることに注意してください...
この同期の問題は、サウンドのキャッシュに関連している可能性がありますか?
簡単にするための外部ライブラリはありますか?
public SoundEffectInstance loop1, loop2;
public int auxControl = 0;
public bool auxB = false, auxA = false;
public void LoadContent()
{
SoundEffect temp1 = Game.Content.Load<SoundEffect>("sounds/Synctest_1");
loop1 = temp1.CreateInstance();
loop1.IsLooped = true;
loop2 = temp1.CreateInstance();
loop2.IsLooped = true;
}
public override void Update(GameTime gameTime)
{
// start first sound
if (auxA == false)
loop1.Play(); auxA = true;
// start counting until 2 seconds
if (auxA)
auxControl += gameTime.ElapsedGameTime.Milliseconds;
// if 2 seconds have passed after first sound start second sound
if (auxControl >= 2000 && auxB == false)
{
loop2.Play();
auxB = true;
}
base.Update(gameTime);
}
ありがとうございました