playing one sound after another in .NET...

B

Ben Callister

hello-

i need to play a .WAV file and then programmatically play another .WAV file
after the first one has finished playing. ideally, i dont want to require
DirectX be installed on the machine. i am currently using the
System.Media.SoundPlayer class for playback and hope to not have to wonder
too far beyond this to implement this feature. is there a simple API call
and/or technique that will do the trick?!?

a code sample would be much appreciated (if appropriate).

thank you,

ben callister
 
P

Peter Huang [MSFT]

Hi

First we define a file list in fs string array, here we defined two file
for demostration.

And then we create another thread to play the sound.

string[] fs = new string[]{@"C:\Program Files\MSN
Messenger\phone.wav",
@"C:\Program Files\MSN Messenger\outgoing.wav"};

void ThreadProc()
{
SoundPlayer sp = new SoundPlayer();
sp.LoadCompleted += new
AsyncCompletedEventHandler(sp_LoadCompleted);
foreach (string f in fs)
{
sp.SoundLocation = f;
sp.Load();
}
}

private void button2_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(ThreadProc));
t.Start();
}

void sp_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
SoundPlayer p = sender as SoundPlayer;
if (p != null)
{
Debug.WriteLine("Play " + p.SoundLocation);
p.PlaySync();
}
}
Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top