1

我正在尝试制作一个用于学习摩尔斯电码的小型应用程序,但我被卡住了,因为我不知道如何在 Silverlight 中播放哔哔声。我该怎么做?

Console.Beep(Freq, elementLength)

(我制作了一个使用 Console.Beep 的控制台应用程序,但效果不太好(每分钟 20 个字的点长为 60 毫秒,两个符号之间的间隔为 180 毫秒,所以对于字母 s 女巫是......(3 个点)在我的耳机里,我听到 poc!不是一个清晰的声音)......我想解决方案是使用 DirectX/XNA)你能告诉我如何让应用程序发出哔哔声,如果 xna 是解决方案,你能指导我到教程(我没有弄清楚我需要安装什么sdk以及从哪里下载)谢谢

4

2 回答 2

3

我知道,silverlight 中没有直接的“哔”声。但是,您拥有大量的声音功能。其中之一是使用MediaElement控件。因此,您可以将其中之一添加到您的页面:

<MediaElement x:Name="beeper"></MediaElement>

然后在你后面的代码中你可以分配和调用声音:

private void AssignBeep()
{
  Uri beepUri = new Uri("Project;component/beep.mp3", UriKind.RelativeOrAbsolute);
  StreamResourceInfo streamInfo = Application.GetResourceStream(beepUri);
  this.beeper.SetSource(streamInfo.Stream);
  this.beeper.AutoPlay = false;
}

然后你可以叫它哔一声:

private void PlayBeep()
{
  this.beeper.Position = new TimeSpan(0,0,0,0);
  this.beeper.Volume = 1;
  this.beeper.Play();
}

归功于forums.silverlight.net

于 2011-03-12T23:26:08.987 回答
2

看看这个..我认为这就是你需要的.. http://silversynth.codeplex.com/

于 2011-03-13T02:03:56.937 回答