播放的声音,Windows Phone 7的
问题描述:
我的问题一个数组如下:播放的声音,Windows Phone 7的
如何设置声音的行列,从而使一个按钮可以发挥他们?我有5个wav(sounds1.wav,sounds2.wav .... sounds5.wav),理想情况下我希望他们是随机的而不是一个设定的顺序,但我完全不知道这是否可能。
我使用此代码作为基础:
var stream = TitleContainer.OpenStream("Sounds/sound1.wav");
var effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();
任何帮助表示赞赏。谢谢!
答
您可以将它们存储在一个数组流中,但如果您的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)
然后,您可以选择一个随机数,使用Random类,从0
到4
(含)。这意味着所选的声音将是随机的,而不是以任何特定顺序播放。 玩,你可以只使用上面的代码,但更换FromStream
行是这样的:
var effect = SoundEffect.FromStream(myStreamArray[randomNumber]);
真棒。谢谢你KeyboardP。声音波形不超过8kbs,所以这不应该是一个问题。感谢您帮助我了解这些功能。我在代码中寻找一个随机数字生成器,这是完美的。 – topcoderwannabe
嗯,流不是一个有效的指令或程序集...但我使用:使用Microsoft.Xna.Framework; 使用Microsoft.Xna.Framework.Audio;有什么想法吗? – topcoderwannabe
@topcoverwannabe - 该代码必须位于方法中,不能将其放在文件的顶部。 –