играть звуковой сигнал в серебряном свете - PullRequest
1 голос
/ 13 марта 2011

Я пытаюсь сделать небольшое приложение для изучения азбуки Морзе, и я застрял, потому что я не знаю, как играть в звуковой сигнал в Silverlight. Как я могу сделать что-то вроде?

Console.Beep(Freq, elementLength)

(Я создал консольное приложение, которое использует Console.Beep, и оно не очень хорошо работает (для 20 слов в минуту длина точки составляет 60 мс, а расстояние между 2 знаками составляет 180 мс, поэтому для буквы s ведьма ... ( 3 точки) в наушниках слышно поку! Нечеткий звук) ... полагаю, решение заключается в использовании DirectX / XNA) Подскажите пожалуйста, как заставить приложение подавать звуковой сигнал, и если xna - решение, можете ли вы направить меня к учебнику (я не понял, какой SDK мне нужно установить и откуда скачать) Спасибо

Ответы [ 2 ]

3 голосов
/ 13 марта 2011

В серебристом свете нет прямого "гудка", что я знаю. Тем не менее, у вас есть множество звуковых возможностей; один из которых использует элемент управления 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

2 голосов
/ 13 марта 2011

Посмотрите на это .. я думаю, это то, что вам нужно .. http://silversynth.codeplex.com/

...