我想知道是否有一种方法可以让程序执行int f = 37; Console.Beep( f, 10000 )
并在播放时更改f
变量,以便声音实际发生变化。
编辑:我不想使用增加f
的循环,因为它会使声音停止播放一段时间(每次迭代)。我知道还有其他方法,但我想知道Beep方法。
答案 0 :(得分:1)
如果您想在控制台应用程序中播放声音,并且可以更广泛地控制正在播放的内容,建议您使用SoundPlayer
课程(MSDN参考here,它有一个概述其功能)。
缺点是你必须创建一个产生哔声的wav
文件(它不应该很难找到一个谷歌搜索)和每个wav
文件您希望在应用程序中实现的不同声音。您可以将文件放在应用程序目录中,但也可以将它们作为资源嵌入到程序集中:
private static SoundPlayer s_Beep;
private static SoundPlayer s_Buzz;
public static void Main(String[] args)
{
Assembly assembly = Assembly.GetExecutingAssembly();
s_Beep = SoundPlayer(assembly.GetManifestResourceStream("YourNamespace.Beep.wav"));
s_Beep.Load();
s_Buzz = SoundPlayer(assembly.GetManifestResourceStream("YourNamespace.Buzz.wav"));
s_Buzz.Load();
s_Beep.PlayLooping();
Thread.Sleep(100);
s_Beep.Stop();
s_Buzz.Play();
// ...
}