Revision as of 07:32, 11 September 2012 by hamishwillee (Talk | contribs)

How to embed and play a .wav file in Windows Phone 7 app

From Nokia Developer Wiki
Jump to: navigation, search

This article describes how to embed a WAV file into the WP7 app resources and play it.

WP Metro Icon File.png
WP Metro Icon Multimedia.png
SignpostIcon XAML 40.png
SignpostIcon WP7 70px.png
Article Metadata
Tested with
SDK: Windows Phone 7.1
Platform(s): Windows Phone 7.5
Windows Phone 7.5
Created: Vaishali Rawat (05 Sep 2012)
Last edited: hamishwillee (11 Sep 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 a reference to a project
    Selecting a particular framework reference

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();
  • To play the wav file on a button press
    Private void button1_Click(object sender, RoutedEventArgs e)
  • Now build the project and run it using F5.
172 page views in the last 30 days.