播放一系列声音,Windows Phone 7

时间:2011-07-04 01:05:29

标签: c# arrays windows-phone-7 audio

我的问题如下:

如何设置声音数组,以便单个按钮可以播放它们?我有5个wavs(sounds1.wav,sounds2.wav .... sounds5.wav),理想情况下我希望它们是随机的而不是设定的顺序,但我完全不知道是否可行。

我使用此代码作为基础:

var stream = TitleContainer.OpenStream("Sounds/sound1.wav");
     var effect = SoundEffect.FromStream(stream);
     FrameworkDispatcher.Update();
     effect.Play();

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将它们存储在一组流中,但如果您的wav文件不大,那么最好这样做,因为如果它们可能超过90mb内存使用限制。

Stream[] myStreamArray = new Stream[5];
myStreamArray[0] = TitleContainer.OpenStream("Sounds/sound1.wav");
//etc.. (you could use a for loop if your sounds are named in a pattern)

然后,您可以使用0类从4FromStream(包括)选择一个随机数。这意味着所选择的声音将是随机的,而不是以任何特定顺序播放。  要玩,您可以使用上面的代码,但将var effect = SoundEffect.FromStream(myStreamArray[randomNumber]); 行替换为以下内容:

{{1}}