我有一个应用程序,它使用计时器在 1 分钟内执行刷新 DataGridView 中的数据。根据返回屏幕的信息,将播放不同的声音。每个声音都有一个播放时间。我正在使用这个命令来影响我的音乐的持续时间。
Thread.sleep(GetMusicDuration[i] * 1000);
当我第一次启动我的应用程序时,一切顺利,但是当计时器再次运行携带 DataGridView 中的信息的 TICK 事件并运行 PLAY 播放声音时,我的 Thread.Sleep 命令不起作用,它根本忽略不期望参数的时间设置。
public void PlaySound()
{
try
{
while (1 == 1)
{
List<string> distinctMusic = GetMusicFile.Distinct().ToList();
StopSound();
if (distinctMusic.Count > 0)
{
for (int i = 0; i < distinctMusic.Count; i++)
{
player.SoundLocation = distinctMusic[i];
player.Play();
Thread.Sleep(GetMusicDuration[i] * 1000);
StopSound();
}
}
DisposePlayer();
}
}
catch (Exception e)
{
if (generateLog)
log.LogTxt(e.ToString());
}
}
直到现在我才明白为什么 exucução 错了。
有人可以帮助我吗?
谢谢你...!