-5

当我对 SoundPlayer 使用 Play 方法时,我的程序退出并且没有声音播放。请帮我。

代码:

SoundPlayer player;
player = new SoundPlayer();

private void wii_WiimoteChanged(object s, EventArgs e)
{
  if (wii.WiimoteState.GuitarState.FretButtonState.Green == true)
  {
     Play(1);
  }
}

private void Play(int soundID)
{
  player.SoundLocation = "sounds/" + soundID + ".wav";
  player.Load();
}

private void player_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
   player.Play();
}
4

2 回答 2

0

http://msdn.microsoft.com/en-us/library/system.media.soundplayer.aspx

初始化播放器

player = new SoundPlayer();
player.LoadCompleted += new AsyncCompletedEventHandler(player_LoadCompleted);

加载文件

player.SoundLocation = "sounds/" + soundID + ".wav";
player.Load();

加载完成播放

private void player_LoadCompleted(object sender, 
AsyncCompletedEventArgs e)
{   
        player.Play();
}
于 2013-08-25T08:01:19.467 回答
0

尝试完整路径

player.SoundLocation = Path.GetFullPath("sounds/" + soundID + ".wav");

示例代码:

using (SoundPlayer player = new SoundPlayer(Path.GetFullPath("sounds/" + soundID + ".wav")))
{
    player.PlaySync();
}
于 2013-08-25T08:06:42.500 回答