2011-03-12 5 views
1

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

Console.Beep(Freq, elementLength) 

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

ответ

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