【发布时间】:2019-06-02 15:00:24
【问题描述】:
我尝试使用 SoundPlayer 类(模拟打字机声音)在每次按下键时播放打字声音。
public void MyKeyDown(object sender, KeyEventArgs)
{
player = new System.Media.SoundPlayer(@"f:\sounds\2.wav");
player.Play();
}
它工作正常...只要您每分钟键入大约 20 个单词。任何比这更快的声音都不会完全播放,甚至完全停止播放,直到你放慢速度
2.wav 是一个 8kb 的声音文件,时长为 0.1 秒,因此仅基于声音时长,该文件每分钟可以完整播放 600 次(足以满足 90 wpm 左右的打字速度)。
有没有更快的方法来播放声音文件,还是其他地方有问题?
【问题讨论】:
-
没有人稳定地打字。 SoundPlayer 非常简单,它没有重叠或混合声音的选项。以 NAudio 库为例。
-
拥有一个播放器实例会更快吗?并且每次都简单地调用 play?
-
@the.Doc 两种方法都试过了,没有区别。
-
@HansPassant 我刚刚尝试使用 NAudio 和教程中的代码进行播放。工作得更好一点,但在短时间内崩溃,尽管在“尝试”块内。我会仔细看看我是否可以让它工作,如果我做不到,我会问一个更好的问题。
标签: c# soundplayer