<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.xna.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Audio/XACT</title><link>http://forums.xna.com/forums/33.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 0.0)</generator><item><title>Re: DirectSound: Device.SetCooperativeLevel() and handles in class libraries</title><link>http://forums.xna.com/forums/thread/183223.aspx</link><pubDate>Wed, 27 May 2009 20:06:21 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:183223</guid><dc:creator>Abhishek Ramkumar</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/183223.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=33&amp;PostID=183223</wfw:commentRss><description>Hey Brad and ultragotcha,&lt;br /&gt;
&lt;br /&gt;
Any luck resolving the issue? &lt;br /&gt;
&lt;br /&gt;
I am facing a similar problem - I am writing a dll in VC++ with an exported function that will initialize a joystick and apply force-feedback using DirectInput. Since SetCooperativeLevel needs a handle to a window (HWND) so that it can be accessed, I am having trouble initializing it. I plan to access the function via LabView so that it can control the force-feedback.&lt;br /&gt;
&lt;br /&gt;
Any help or direction with regards to this will be very much appreciated. I have been breaking my head over this for over 2 weeks now. &lt;br /&gt;
&lt;br /&gt;
Thanks in advance!&lt;br /&gt;
Cheers,&lt;br /&gt;
Abhishek&lt;br /&gt;</description></item><item><title>Re: DirectSound: Device.SetCooperativeLevel() and handles in class libraries</title><link>http://forums.xna.com/forums/thread/182284.aspx</link><pubDate>Mon, 25 May 2009 02:44:54 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:182284</guid><dc:creator>ultragotcha</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/182284.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=33&amp;PostID=182284</wfw:commentRss><description>Hello Brad,&lt;br /&gt;
&lt;br /&gt;
Any luck with this issue?&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;m really struggling as well with this as it seems that all sample code I find is using a window/form as support.&lt;br /&gt;
&lt;br /&gt;
I would like to write a simple standalone (or a DLL) that doesn&amp;#39;t open a window. It just plays a sound and quits.&lt;br /&gt;
If I pass null as the owner to&amp;nbsp;Device.SetCooperativeLevel  then I get an error.&lt;br /&gt;
&lt;br /&gt;
Any help would be very very much appreciated as I&amp;#39;ve been Googling my head off on this.</description></item><item><title>Re: DirectSound: Device.SetCooperativeLevel() and handles in class libraries</title><link>http://forums.xna.com/forums/thread/178342.aspx</link><pubDate>Fri, 15 May 2009 07:26:41 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:178342</guid><dc:creator>TomyN</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/178342.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=33&amp;PostID=178342</wfw:commentRss><description>Hi,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;you need to specify the cooerative level to determine how DirectSound should behave if more than one instance of DirectSound is running at the same time. &lt;br /&gt;This behavior is related to the focus, and the focus is &amp;#39;linked&amp;#39; to a visible item. &lt;/div&gt;&lt;div&gt;You might try to use just zero as the handle.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tomy&lt;/div&gt;</description></item><item><title>DirectSound: Device.SetCooperativeLevel() and handles in class libraries</title><link>http://forums.xna.com/forums/thread/176928.aspx</link><pubDate>Tue, 12 May 2009 09:25:58 GMT</pubDate><guid isPermaLink="false">4aa5dbf6-357b-46b2-b5b2-1b660a6dc370:176928</guid><dc:creator>Brad Heller</dc:creator><slash:comments>0</slash:comments><comments>http://forums.xna.com/forums/thread/176928.aspx</comments><wfw:commentRss>http://forums.xna.com/forums/commentrss.aspx?SectionID=33&amp;PostID=176928</wfw:commentRss><description>Hey all,&lt;br /&gt;
&lt;br /&gt;
Not really sure if this is the appropriate place for DirectSound-related questions but the other MSDN forums forwarded me here.&lt;br /&gt;
&lt;br /&gt;
I&amp;#39;m trying to create a class library that serves as a wrapper for some sound-related functionality. I&amp;#39;ve chosen DirectSound as it seems to have the richest feature set for the job! The problem is that, when instantiating a new device, you are required to call SetCooperativeLevel() for..whatever reason...and, as a parameter, you&amp;#39;re required to pass either an IntPtr to a window handle of a reference to an object of type Control.&lt;br /&gt;
&lt;br /&gt;
The problem is that, since I&amp;#39;m in a class library context, I don&amp;#39;t have an available window handle or object of type Control! I&amp;#39;ve tried creating an object locally and passing that to no avail. I&amp;#39;m wondering if anyone has a hack for this or has tried (and succeeded) in getting this to work somehow?&lt;br /&gt;
&lt;br /&gt;
Any insight you guys can provide would be really great!&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
Relevant Code:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;div style="border:1px solid #7f9db9;overflow:auto;background-color:white;font-family:courier new;font-size:11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width:0px;border-bottom:0px solid #eeeeee;margin:2px 0px;width:99%;border-collapse:collapse;background-color:#ffffff;"&gt;
    
    
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size:11px;"&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;Form&amp;nbsp;_parent;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;SoundGenerator()&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._parent&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;Form();&amp;nbsp;&lt;/span&gt;&lt;span style="color:green;"&gt;//&amp;nbsp;We&amp;nbsp;don&amp;#39;t&amp;nbsp;really&amp;nbsp;need&amp;nbsp;this...&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._parent.CreateControl();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._InitializeSoundDevices();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;void&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;_InitializeSoundDevices()&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.WriteLine(&lt;span style="color:blue;"&gt;&amp;quot;&amp;gt;&amp;gt;&amp;nbsp;SoundGenerator._InitializeSoundDevices&amp;quot;&lt;/span&gt;&lt;span style="font-size:11px;"&gt;);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._device&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;Device(DSoundHelper.DefaultPlaybackDevice);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._device.SetCooperativeLevel(&lt;/span&gt;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._parent,&amp;nbsp;CooperativeLevel.Priority);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._soundDescription&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt;&lt;span style="font-size:11px;"&gt;&amp;nbsp;BufferDescription();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._soundDescription.ControlPan&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._soundDescription.ControlVolume&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._soundDescription.ControlFrequency&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this&lt;/span&gt;&lt;span style="font-size:11px;"&gt;._soundDescription.ControlEffects&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;false&lt;/span&gt;&lt;span style="font-size:11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color:#f7f7f7;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.WriteLine(&lt;span style="color:blue;"&gt;&amp;quot;&amp;lt;&amp;lt;&amp;nbsp;SoundGenerator._InitializeSoundDevices&amp;quot;&lt;/span&gt;&lt;span style="font-size:11px;"&gt;);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;</description></item></channel></rss>