Нужно что бы выполнялся некоторой метод при зажатой(не нажатой, а именно зажатой) кнопке "A". А когда я ее отпускаю вызывался другой метод.
Есть вот такой код. Но почему то мелодия проигрывается всего 1 секунду, а потом останавливатся.
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.A)
{
PlaySound();
this.MyBotton.Background = Brushes.Black;
}
}
private void PlaySound()
{
wpalyer.URL = @"D:123.mp3";
wpalyer.controls.play();
}
private void Window_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.A)
{
wpalyer.controls.stop();
this.MyBotton.Background = Brushes.White;
}
}
Ответ
Я бы посоветовал такой путь:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.A &&
!e.IsRepeat) // проверка на повторение
{
PlaySound();
this.MyBotton.Background = Brushes.Black;
}
}
Комментариев нет:
Отправить комментарий