Играть звуковой сигнал в серебряном свете
Я пытаюсь сделать небольшое приложение для изучения азбуки Морзе, и я застрял, потому что я не знаю, как играть в звуковой сигнал в 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