Solved

c# Stop Audio sound

Posted on 2011-02-20
13
1,276 Views
Last Modified: 2013-12-17
Hi,

In my background task I play sound continuosly:

      private void bgw_DoWork(object sender, DoWorkEventArgs e)
        {

            myaudio = new Audio();
            while (true)
            {
                myaudio.Play(@"C:\windows\media\ding.wav");
            }
        }

When I click cancel button, in the completed task:

       private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            myaudio.Stop();          
        }

But the sound is not stopped. do you know the reason?

Thanks,
JT
0
Comment
Question by:jtran007
  • 8
  • 5
13 Comments
 

Author Comment

by:jtran007
ID: 34940430
Hi,

Also I copy this wave sound to my project and under resources, how do I refer it ?

Thanks,
JT
0
 
LVL 10

Expert Comment

by:Asim Nazir
ID: 34940441
Hi,

Here is working code for your reference:

 
private void btnAudio_Click(object sender, EventArgs e)
        {
            SoundPlayer wavPlayer = new SoundPlayer();
            wavPlayer.SoundLocation = @"C:\WINDOWS\system32\LoopyMusic.wav";
            wavPlayer.Play();

            wavPlayer.LoadCompleted += new AsyncCompletedEventHandler(wavPlayer_LoadCompleted);
            wavPlayer.LoadAsync();

        }

        private void wavPlayer_LoadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            ((System.Media.SoundPlayer)sender).Stop();
        }

Open in new window


I hope this helps. Let me know if you need more help.
0
 

Author Comment

by:jtran007
ID: 34940443
Hi,

I copied this program to my notebook. It runs but does not produce sound whereas on my desktop
it produces souns. Could you give me a hand?

Thanks,
JT
0
 
LVL 10

Expert Comment

by:Asim Nazir
ID: 34940477
Hi,

Make sure sound file exists on this path i.e. "C:\WINDOWS\system32\LoopyMusic.wav"

Asim
0
 

Author Comment

by:jtran007
ID: 34940485
Hi,

I checked c:\windows\media folder in my notebook, I found. ding.wav file. And go this folder (c:\windows\media),
and select ding.wav, and click play. It plays fine.

Do you know why it does not produce sound on the notebook?

Thanks,
JT
0
 
LVL 10

Expert Comment

by:Asim Nazir
ID: 34940505
Hi,

If you play ding.wav, it's simply a beep. Try referencing some other file.
Also, this way of playing sound is standard and is not specific to any machine. May be you can check some machine configurations...

Thanks.
Asim
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:jtran007
ID: 34940559
Hi asim,

Thansk.Your solution does not play sound continuously. Since during uploading file, I'd like
sound playing on until the end of file upload.
Do I miss something here?

JT
0
 
LVL 10

Expert Comment

by:Asim Nazir
ID: 34940614
Hi,

To play sound continuously, you need to use PlayLooping() method instead of Play();
So code will become:

private void btnAudio_Click(object sender, EventArgs e)
        {
            SoundPlayer wavPlayer = new SoundPlayer();
            wavPlayer.SoundLocation = @"C:\WINDOWS\system32\LoopyMusic.wav";
            //wavPlayer.Play();
            wavPlayer.PlayLooping();

            wavPlayer.LoadCompleted += new AsyncCompletedEventHandler(wavPlayer_LoadCompleted);
            wavPlayer.LoadAsync();

        }

        private void wavPlayer_LoadCompleted(object sender, AsyncCompletedEventArgs e)
        {
            ((System.Media.SoundPlayer)sender).Stop();
        }

Open in new window


Asim
0
 

Author Comment

by:jtran007
ID: 34940649
hI ASIM..,

Thanks now it plays continuously. But as I said, it is not working on my notebook.
Do you have any idea?

Thanks,
JT
0
 

Author Comment

by:jtran007
ID: 34940656
Hi asim,

Yes. I can play any media sound on my note book: mp3, wav,...
But my program is not producing sound on this notebook.

Regards,
JT
0
 

Author Comment

by:jtran007
ID: 34940676
Hi asim,

if i have a different wave file, and load it at run time, suppose I save it into my resources folder,
what api call to load this file from my project (subfolder resources)

Thanks,
JT
0
 
LVL 10

Accepted Solution

by:
Asim Nazir earned 250 total points
ID: 34940679
It's working on my machine and also on your desktop machine. So, this has to be configuration issue - as I wrote previously!
0
 

Author Closing Comment

by:jtran007
ID: 34942952
Thaks,
JT
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now