Question

I am working on Windows 7 based application development in Silverlight. I have not been able to find a way to play a an audio file in windows 7 phone programmatically. I have been googling it since past few days but i could not get any solution of that. There is a class SoundPlayer in C# but i guess its not available in Windows 7 Phone. Can anyone please help?

Was it helpful?

Solution

Use Xna to play the sound. You can cross reference Xna from a Silverlight app though, for playing a sound file, you need to the following:

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio
// ...
Stream stream = TitleContainer.OpenStream("sounds/bonk.wav");
SoundEffect effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();

All the best for your application development!

OTHER TIPS

You can place a MediaElement in your XAML view:

<MediaElement 
    x:Name="sound" 
    Source="sound.wma" 
    AutoPlay="False" />

then in the code-behind:

sound.Play();

Supported formats are MP3 and WMA.

You'll want to use MediaElement. Here's a tutorial

http://create.msdn.com/en-US/education/quickstarts/Video_and_Audio

How about simply use a built-in behavior?

<Button>
    <i:Interaction.Triggers>
       <i:EventTrigger EventName="Click">
           <eim:PlaySoundAction Source="/Alarm1.wma" Volume="1"/>
       </i:EventTrigger>
    </i:Interaction.Triggers>
</Button>

You need these two namespaces.

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
xmlns:eim="clr-namespace:Microsoft.Expression.Interactivity.Media;assembly=Microsoft.Expression.Interactions"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top