How to embed and play a .wav file in Windows Phone 7 app
This article describes how to embed a WAV file into the WP7 app resources and play it.
Article Metadata
Tested with
SDK: Windows Phone 7.1
Compatibility
Platform(s): Windows Phone 7.5
Article
Keywords: StreamResourceInfo, SoundEffect, SoundEffectInstance
Created: Vaishali Rawat
(05 Sep 2012)
Last edited: hamishwillee
(30 Nov 2012)
Getting started
First create a Windows Phone application.
- Open Visual Studio and select Windows Phone Application from the installed templates. Here I have named the application "Age Calculator".
- Select Windows Phone 7.1 as the Target Version.
- Right-click on the “References” in the project and click “Add Reference…”. Find the “Microsoft.Xna.Framework” reference and add it to the project.
Adding the WAV file to project resources
Next add the WAV File to the project resources:
- Right-click on the project and add new folder. Name the folder -
here I have used the name "Sound".
- Right-click on the Sound folder and select Add existing items. Add the WAV file to this folder.
- After adding WAV file select the file and right-click and open Properties and change the “Build Action” to “Resource”
Code to play embedded WAV file
- Add the following namespace to the MainPage.xaml.cs file
-
using System.Windows.Resources;
using Microsoft.Xna.Framework;
- Code to play the .wav file
-
void Play_wavFile(object sender, EventArgs e)
{
StreamResourceInfo _stream = Application.GetResourceStream(new Uri("/AgeCalculator;component/Sound/BirthdayTune.wav", UriKind.Relative));
SoundEffect _soundeffect = SoundEffect.FromStream(_stream.Stream);
SoundEffectInstance soundInstance = _soundeffect.CreateInstance();
FrameworkDispatcher.Update();
soundInstance.Play();
}
- To play the wav file on a button press
-
Private void button1_Click(object sender, RoutedEventArgs e)
{
Play_wavFile();
}
- Now build the project and run it using F5.
On Button click, .wav sound file start playing.






Hamishwillee - Minor subedit
Hi Vaishali
I've deleted my previous comment - sorry, it wasn't very useful. I've also subedited this for wiki style and a little for English
I think this is quite nicely done. In particular I like how you haven't put images for the "obvious" stuff like selecting the application template, but have shown them where needed.
In terms of improvements, I'd suggest:
Regards
Hamishhamishwillee 07:38, 11 September 2012 (EEST)