당신은에서 KeyDown과의 keyup 이벤트를 통해이 문제를 처리 할 수
이 예제는 당신이 필요하지만, 당신이 시작 가야 정확히 무엇을하지 않습니다. 이를 위해 두 이벤트 모두 미디어 객체와 재생 상태를 알아야합니다. 내가 모르는 다른 가능성이있을 수 있습니다. 나는 연주와 녹음을 위해이 senerio를 사용했다. 당신은 오직 연주를 시도 할 수 있습니다.
둘째, 미디어가 종료되거나 실패한 후에도 키를 계속 누르면 재설정해야합니다. 따라서 이러한 이벤트를 등록하고 KeyUP 이벤트에서와 동일한 작업을 수행해야합니다.
아래 예제는 응용 프로그램 창의 KeyUP 및 KeyDown 이벤트를 보여줍니다.
MediaPlayer player = new System.Windows.Media.MediaPlayer();
bool playing = false;
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (playing == true)
{
return;
}
/* your code follows */
try
{
player.Open(new Uri(label46.Text));
player.Volume = (double)trackBar4.Value/100;
player.Play();
playing = true;
}
catch (FileNotFoundException)
{
MessageBox.Show("File has been moved." + "\n" + "Please relocate it now!");
}
}
private void Window_KeyUp(object sender, KeyEventArgs e)
{
if (playing == false)
{
return;
}
/* below code you need to copy to your Media Ended/Media Failed events */
player.Stop();
player.Close();
playing = false;
}
'player' 개체를 유지하고 키가 눌러져있을 때'.Play()'를 호출하는 것이 좋습니다. 그렇게하면 매번 파일을 열 필요가 없습니다. –
그게 내가 소리 파일을 많이 사용한다는 것입니다. – Joscplan
그래서 어떤 키를 누르거나 특정 키를 누르면? –