0

我正在尝试制作一个像幻灯片一样显示图像的程序,每次显示图片时,都会为当前图像播放声音,每个图像都会播放不同的声音。如何使用带有声音的数组并播放数组中的声音?

string[] sounds = new string[] { "nero", "fai", "mpanio", "tv1", "volta", 
                                 "sleep1" }; 
private int currentAudioIndex = 0;

private void timer1_Tick(object sender, EventArgs e)
{
   timer1.Stop();
   try
   {
      timer1.Interval = 5000; // Next time, wait 5 secs
      button1.BackgroundImage = (Image)Properties.Resources.ResourceManager.GetObject(arr1[currentImageIndex]);
      new SoundPlayer(Properties.Resources.nero).Play();// plays only one sound "nero"

      currentImageIndex++;
   }
   finally
   {
      if (currentImageIndex < arr1.Length)
      timer1.Start();
   }
}
4

1 回答 1

0

我假设您有名为“nero.wav”、“fai.wav”等的 wav 文件资源......

从那里,您可以将资源作为 a 加载Stream,然后将流传递给SoundPlayer构造函数:

Stream stream = Properties.Resources.ResourceManager.GetStream(arr1[currentImageIndex] + ".wav");
new SoundPlayer(stream).Play();
于 2014-05-05T20:38:18.803 回答