c#中的声音数组

时间:2014-05-05 16:39:18

标签: c# arrays audio slideshow soundplayer

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

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();
   }
}

1 个答案:

答案 0 :(得分:0)

我假设您拥有名为&#34; nero.wav&#34;,&#34; fai.wav&#34;等的wav文件资源...

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

Stream stream = Properties.Resources.ResourceManager.GetStream(arr1[currentImageIndex] + ".wav");
new SoundPlayer(stream).Play();