我需要在特定时间后执行一个函数,因此我使用此代码。
_start = DateTime.Now;
await Task.Delay(_app.Settings.AudioFileStartVarianz.BaseSpan).ContinueWith(x =>
{
Console.WriteLine(DateTime.Now - _start);
});
Run Code Online (Sandbox Code Playgroud)
假设我想等待 0.04 秒。我现在的问题是它的工作不够精确。调用该函数 5 次后,我得到以下输出:
如果我使用此代码,效果会更好
_start = DateTime.Now;
Thread.Sleep(_app.Settings.AudioFileStartVarianz.BaseSpan);
Console.WriteLine(DateTime.Now - _start);
Run Code Online (Sandbox Code Playgroud)
但是现在我遇到了问题,该功能没有异步运行,这有什么不好,因为我正在播放音频文件(NAudio)。
有什么想法可以在这里等待异步,这样我的音频文件就不会停止吗?
KR曼努埃尔