Jump to content
  • Advertisement
Sign in to follow this  

[.net] DirectSound, SetCooperationLevel

This topic is 4727 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm using Tom Miller's books as reference (MDX Kick Start and Beginning 3D Game Programming), and am not sure how to use SetCooperationLevel. For testing my library, I am using a console application. I have the following code:
public NESoundEngine(IntPtr parent)
{
	soundDevice=new Device();
	soundDevice.SetCooperativeLevel(parent, CooperativeLevel.Normal);
	hash=new Hashtable();
	counter = 0;
}
The SetCoopLevel code I got from the Beginning 3D Game Programming book. Since this is a console app, I can't use the SetCoopLevel that takes in control as a first parameter. What should I pass in for parent? The docs don't detail what parent actually does. Thanks. -Nick

Share this post


Link to post
Share on other sites
Advertisement
Nick,

The SetCooperativeLevel function of the IDirectSound# interface tells the "parent" window how much of the sound device it should take control of. That is, if you were to pass in DSSCL_EXCLUSIVE, then when your window had focus no other application on the OS would be able to make a sound. DSSCL_NORMAL however, attempts to share the audio device with other applications on your OS. In this case, it might be possible to get instant messeger "beeps" while your program is running, etc...

As you pointed out, you dont have a window, per say, so there's nothing that can gain focus. I haven't worked with DirectSound recently, but I'm fairly certain it will work fine without calling SetCooperativeLevel. I believe the default is just normal, which is fine in most cases.

Share this post


Link to post
Share on other sites
I ended up turning my console app into a forms one to get around that issue. I think it needs a window so it knows if it should be playing sounds or not

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!