Играть звуковой сигнал в серебряном свете

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

Console.Beep(Freq, elementLength)

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

2 ответа

Решение

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

Я не знаю, что в 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();
}

Кредиты на форумы.silverlight.net

Другие вопросы по тегам