我正在用 C# 构建一个相当简单的采样器。我已经掌握了基本的声音结构(音高、播放中停止声音等)。但是当我尝试录制和播放用户输入的声音时,我的问题就出现了。录制时,我将声音保存到字典中,以开始时间为键(类“时间”从 0 开始)以及声音的长度。在播放录制的声音时,我目前正在使用计时器来模拟系统中的时间。每次播放声音时,我都会将计时器间隔设置为当前声音和下一个声音之间的时间差。大部分开始都很好,但声音通常完全不同步,声音被缩短或开始太晚等等,我认为问题在于我使用了计时器,但我不知道另一种方法它。我正在使用贝司。