Воспроизведение массива звуков, Windows Phone 7 - PullRequest
0 голосов
/ 04 июля 2011

У меня следующий вопрос:

Как настроить массив звуков, чтобы их могла воспроизводить одна кнопка?У меня есть 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 Ответ

1 голос
/ 04 июля 2011

Вы можете хранить их в массиве потоков, но это будет хорошей идеей, если ваши wav файлы невелики, так как вы можете превысить лимит использования памяти в 90 МБ, если они есть.

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 до 4 (включительно). Это будет означать, что выбранный звук будет случайным, а не воспроизводиться в каком-либо определенном порядке. Чтобы играть, вы можете просто использовать свой код выше, но заменить строку FromStream на что-то вроде этого:

var effect = SoundEffect.FromStream(myStreamArray[randomNumber]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...