我想创建一个 Windows 应用程序(使用 C/C++)供个人使用,它在后台运行,当我按下键盘上的键时它会播放声音。以下是我要制作的应用程序类型的示例:
http://www.softpedia.com/get/Desktop-Enhancements/Shell-Replacements/Tiper.shtml
我对创建自己的版本感兴趣的原因是我想让它比我发现的当前示例更具可扩展性。例如,我上面提到的 Tiper 应用程序允许为以下设置声音:
- 输入字母和数字的声音(每个字母和数字的声音相同)
- 输入“Enter”键的声音
- 键入“退格”键的声音
- 键入“空格”键的声音
- 键入“Tab”、“Home”、“PgUp”等键的声音
还行吧。但是,我想创建这种类型的应用程序的版本,它允许:
- 为键盘的每个键设置不同的声音。也就是说,“A”的声音不同,“B”的声音不同,等等。
- 为按键组合设置不同的声音。例如,在按下 Ctrl+S 时设置独特的声音。
我对有关哪些 Windows C/C++ API、库、函数等的信息感兴趣,这将为我提供最佳的声音播放性能。也就是说,按下键盘键和听到声音之间的延迟最小。这些是最终解决方案的属性需要考虑的因素:
- 该应用程序将有很多声音文件加载到 ram 中;假设每个键和所需的组合键都有一个。所以它可能是大约 150 个不同的声音文件。我将使用的计算机至少有 8GB 内存。
- 该应用程序只需要在 Windows 7 及更高版本中运行。
- 我每分钟打字大约 60 个字,所以声音应该可以叠加。也就是说,如果我按“A”,然后快速按“D”,“A”的声音应该会继续播放,而不是因为“D”正在播放而被切断。我认为同时播放大约 5 个声音就足够了。
- 假设我还应该考虑读取键盘“keydown”事件的速度。不过,我认为使用 Windows API 获取此类信息的标准方法应该足够好。
谢谢