Windows Phone 7: Как проиграть звук (SoundEffect)
Решил добавить в игру "Вопросы и Ответы" звуковое сообщение о правильности выбранного варианта. Вроде бы всё на первый взгляд, но есть некоторые нюансы.
Чтобы Ваше приложение Silverlight на Windows Phone 7 смогло проиграть звук надо проделать следующее:
1. Добавить в проект сборку Microsoft.Xna.Framework.dll
2. Включить использование сборки:
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio;
3. Добавить в проект звуковые файлы, например в папку Sounds. Прошу учесть и заменить, что для проигрывания не все форматы файлов подходят. У меня получилось проиграть только wav. А вот файлы формата mp3 и wma проиграть не удалось. Да формат wav поддерживается не полной мере, а только PCM mono или stereo, иначе при попытке использовать звук вы получите то, что и я:
Ensure that the specified stream contains valid PCM mono or stereo wave data.
4. Создаем переменные для хранения звуковых эффектов:
private SoundEffect soundRight; private SoundEffect soundWrong;
5. Инициализируем в событии Loaded:
Stream r = TitleContainer.OpenStream("Sounds/right.wav");
this.soundRight = SoundEffect.FromStream(r);
FrameworkDispatcher.Update();
Stream s = TitleContainer.OpenStream("Sounds/wrong.wav");
this.soundWrong = SoundEffect.FromStream(s);
FrameworkDispatcher.Update();
6. Ну, а теперь далее по ходу приложения, можно использовать звуки, вызвав соответствующий метод:
this.soundRight.Play();
или
this.soundWrong.Play();
Вот и всё.