<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[waveOutSetVolume()]]></title><description><![CDATA[<p>Hi!</p>
<p>Wenn ich mit waveOutSetVolume() die Lautstärke eines abspielenden Streams ändern möchte, wird immer die Lautstärke meines gesamten Systems geändert.<br />
Also habe ich auf msdn mal nachgelesen und dort steht, dass ich anstelle des device identifier das device handle benutzen soll.</p>
<p>Ich habe beides versucht und jedesmal wird mein ganzes System leiser:</p>
<pre><code>rv = waveOutOpen(&amp;hWaveOut,WAVE_MAPPER,&amp;waveform,(DWORD)WaveOutThreadId,0,CALLBACK_THREAD);
UINT DeviceID;
waveOutGetID(hWaveOut,&amp;DeviceID);
waveOutSetVolume((HWAVEOUT)DeviceID,(DWORD)voip_volume);
</code></pre>
<pre><code>rv = waveOutOpen(&amp;hWaveOut,WAVE_MAPPER,&amp;waveform,(DWORD)WaveOutThreadId,0,CALLBACK_THREAD);
waveOutSetVolume(hWaveOut,(DWORD)voip_volume);
</code></pre>
<p>Was mache ich falsch?</p>
<p>Danke für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238337/waveoutsetvolume</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 20:28:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238337.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Apr 2009 09:37:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to waveOutSetVolume() on Thu, 09 Apr 2009 09:37:24 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Wenn ich mit waveOutSetVolume() die Lautstärke eines abspielenden Streams ändern möchte, wird immer die Lautstärke meines gesamten Systems geändert.<br />
Also habe ich auf msdn mal nachgelesen und dort steht, dass ich anstelle des device identifier das device handle benutzen soll.</p>
<p>Ich habe beides versucht und jedesmal wird mein ganzes System leiser:</p>
<pre><code>rv = waveOutOpen(&amp;hWaveOut,WAVE_MAPPER,&amp;waveform,(DWORD)WaveOutThreadId,0,CALLBACK_THREAD);
UINT DeviceID;
waveOutGetID(hWaveOut,&amp;DeviceID);
waveOutSetVolume((HWAVEOUT)DeviceID,(DWORD)voip_volume);
</code></pre>
<pre><code>rv = waveOutOpen(&amp;hWaveOut,WAVE_MAPPER,&amp;waveform,(DWORD)WaveOutThreadId,0,CALLBACK_THREAD);
waveOutSetVolume(hWaveOut,(DWORD)voip_volume);
</code></pre>
<p>Was mache ich falsch?</p>
<p>Danke für eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1693346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1693346</guid><dc:creator><![CDATA[C_Cheaf]]></dc:creator><pubDate>Thu, 09 Apr 2009 09:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to waveOutSetVolume() on Thu, 09 Apr 2009 09:58:46 GMT]]></title><description><![CDATA[<p>Du setzt die Lautstärke vom Wave Mapper (Mixer), da wird natürlich alles leiser, was über den Mixer läuft.</p>
<p>N=waveOutGetNumDevs() gibt die wave out - Anzahl der Geräte zurück, gültige DeviceID's sind 0..N-1.</p>
<p>Mit waveOutGetCaps bekommst du einige Informationen (u.a. einen Gerätenamen), damit du dich für das rechte Gerät entscheiden kannst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1693369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1693369</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Thu, 09 Apr 2009 09:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to waveOutSetVolume() on Sun, 12 Apr 2009 09:17:01 GMT]]></title><description><![CDATA[<p>Hört sich äußerst umständlich bzw. ungenau an. Warum kann man nicht einfach das bei waveOutOpen() zurückgegebene handle benutzen???</p>
<p>Was muss ich bei deiner Methode dann waveOutSetVolume() übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1694694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1694694</guid><dc:creator><![CDATA[C_Cheaf]]></dc:creator><pubDate>Sun, 12 Apr 2009 09:17:01 GMT</pubDate></item><item><title><![CDATA[Reply to waveOutSetVolume() on Mon, 13 Apr 2009 09:19:46 GMT]]></title><description><![CDATA[<p>1. Enum war Quatsch, weil du damit auch nur ein anderes Gerät raussuchst, nicht deinen Stream.</p>
<p>2. Soweit ich die MM Wave API verstehe, wird hier nicht zwischen Streams und Geräten unterschieden. Die Lautstärke ist also ans Gerät gekoppelt und du beeinflußt (unterhalb von Vista) alle Anwendungen, die auf diesem gerät wiedergeben.</p>
<p>Die nächstliegende Möglichkeit, die ich sehe, ist, selbst zu skalieren, die Samples also mit einem entsprechenden Faktor runterzumultiplizieren.</p>
<p>(Es kann natürlich sein, daß ich hier was übersehe, würd' ich aber nicht drauf wetten :D)</p>
<p>Alternativ: DirectSound API. Die ist aber richtig eklig zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1695142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1695142</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Mon, 13 Apr 2009 09:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to waveOutSetVolume() on Wed, 15 Apr 2009 13:40:14 GMT]]></title><description><![CDATA[<p>Hey das mit dem multiplizieren klappt wirklich. Danke!</p>
<p>... eigentlich auch logsich, aber selber wäre ich da wohl nie druaf gekommen ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1696311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1696311</guid><dc:creator><![CDATA[C_Cheaf]]></dc:creator><pubDate>Wed, 15 Apr 2009 13:40:14 GMT</pubDate></item></channel></rss>