<?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[Soundstream Input &amp;gt;&amp;gt; Output]]></title><description><![CDATA[<p>Hallo leute,<br />
ich arbeite gerade an einem kleinen Recorder.<br />
Ich möchte, dass er in der Lage ist, den Sound-output auf den Sound-Input<br />
zu widerholen, also eine Mikrofon-Eingabe simuliert.</p>
<p>Kennt ihr da iergendwelche Referenzen?</p>
<p>Vielen Dank<br />
euer Listing</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195807/soundstream-input-gt-gt-output</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 17:38:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195807.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Oct 2007 09:22:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Mon, 22 Oct 2007 09:22:29 GMT]]></title><description><![CDATA[<p>Hallo leute,<br />
ich arbeite gerade an einem kleinen Recorder.<br />
Ich möchte, dass er in der Lage ist, den Sound-output auf den Sound-Input<br />
zu widerholen, also eine Mikrofon-Eingabe simuliert.</p>
<p>Kennt ihr da iergendwelche Referenzen?</p>
<p>Vielen Dank<br />
euer Listing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1389791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1389791</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Mon, 22 Oct 2007 09:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Mon, 22 Oct 2007 15:25:38 GMT]]></title><description><![CDATA[<p>Muss man einen eigenen Sound-Treiber, denn man dann als input-Device auswählen kann programmieren oder geht das auch einfacher?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390061</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Mon, 22 Oct 2007 15:25:38 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Mon, 22 Oct 2007 16:16:16 GMT]]></title><description><![CDATA[<p>hugihuginugi nugi?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390081</guid><dc:creator><![CDATA[mustafa]]></dc:creator><pubDate>Mon, 22 Oct 2007 16:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Mon, 22 Oct 2007 17:10:23 GMT]]></title><description><![CDATA[<p>mustafa schrieb:</p>
<blockquote>
<p>hugihuginugi nugi?</p>
</blockquote>
<p>Lieber mustafa,<br />
vielen Dank für deinen Versuch mir zu helfen.<br />
Leider konnte ich dich nicht verstehen,<br />
drück dich bitte ein bisschen klarer aus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>mfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390121</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Mon, 22 Oct 2007 17:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Tue, 23 Oct 2007 09:51:37 GMT]]></title><description><![CDATA[<p>Ich habe jetzt 2 Stunden lang im Internet nach dem Problem gesucht.<br />
Es wurde auch schon oft gestellt, eine vielversprechende Lösung gab es bis jetzt aber leider noch nicht :(.</p>
<p>Es lief immer darauf hinaus, dass man eine Soundkarte simulieren muss ,was ich leider noch nicht kann.</p>
<p>Wie funktioniert das denn in so Stimmenverzerrer-Programmen?<br />
Die greifen ja auch auf die Spracheingabe zu und filtern sie dann nach ihren Wünschen.</p>
<p>mfG<br />
→euer Listing</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390437</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Tue, 23 Oct 2007 09:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Tue, 23 Oct 2007 13:22:54 GMT]]></title><description><![CDATA[<p>Das ist die andere Richtung - die lesen vom Eingang der Soundkarte, rechnen dann ihren Effekt drüber und schreiben auf den Ausgang der Soundkarte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390551</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 23 Oct 2007 13:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 13:54:40 GMT]]></title><description><![CDATA[<p>Mal anders, kann man &quot;waveInAddBuffer&quot; auch iergendwie auf ein Output-device anwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391243</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Wed, 24 Oct 2007 13:54:40 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 14:32:16 GMT]]></title><description><![CDATA[<p>Listing schrieb:</p>
<blockquote>
<p>Mal anders, kann man &quot;waveInAddBuffer&quot; auch iergendwie auf ein Output-device anwenden?</p>
</blockquote>
<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391293</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 24 Oct 2007 14:32:16 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 16:24:41 GMT]]></title><description><![CDATA[<p>Ich hab waveInAddBuffer eines vorher beliebig selektierten Targets-gehookt:</p>
<pre><code>MMRESULT __cdecl HookedWaveInAddBuffer(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh){
	if(!simulateMicrophoneInput)
	{
		return OriginalWaveInAddBuffer(hwi,pwh,cbwh);
	}
	else
	{
	//Manipulation
	//Fill pwh with our data...
	pwh-&gt;dwBytesRecorded = ...

	return 0;
	}

}
</code></pre>
<p>Wie muss ich da jetzt genau vorgehen, damit das Target Programm (Online-Game spracheingabe / Yahoo-Sprach chat / Microsoft Voice Recorder) das schluckt?<br />
Vor allem, wie bekomme ich meinen Sound in das Format, dass<br />
&quot;pwh-&gt;lpData&quot; braucht?</p>
<p>Kann ich dwBytesRecorded einfach so groß machen wie den Sound und den Buffer auch, dann einfach returnen?</p>
<p>PS:<br />
Ja, waveInBuffer wird von den allen gecallt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391361</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Wed, 24 Oct 2007 16:24:41 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 19:13:48 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13952">@Listing</a>:<br />
Du darfst an dem was das aufrufende Programm reinschreibt nix ändern, d.h. dein Hook muss &quot;transparent&quot; arbeiten.</p>
<p>Lies dir einfach die Dokumentation der original Funktion durch. Alles das was dort &quot;versprochen&quot; wird muss deine Funktion &quot;halten&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391461</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 24 Oct 2007 19:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 20:21:48 GMT]]></title><description><![CDATA[<p>Ja das ist ja erstmal zweitrangig.<br />
Ich möchte, dass man einfach erstmal was hört <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /><br />
Den Rest mache ich dann später</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391506</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Wed, 24 Oct 2007 20:21:48 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Wed, 24 Oct 2007 21:57:20 GMT]]></title><description><![CDATA[<p>Das wird vermutlich nicht so einfach sein.<br />
Ich denke alleine waveInAddBuffer zu hooken wird lange nicht ausreichen. Würde mich zumindest sehr wundern wenn -- ich wüsste nicht wie man das anstellen sollte.</p>
<p>Wie kommst du überhaupt auf die Idee gerade waveInAddBuffer zu hooken? Und wie &quot;hookst&quot; du die Funktion überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391552</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 24 Oct 2007 21:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Thu, 25 Oct 2007 05:20:07 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wie kommst du überhaupt auf die Idee gerade waveInAddBuffer zu hooken?</p>
</blockquote>
<p>Naja, da holt sich das Programm ja die Daten vom Mikrofon. Ich könnte doch einfach die Daten vom Mikrofon manipulieren, dass da meine Daten stehen (eventuell vermischt mit den Daten vom Mikrofon später). Das ist meine Idee.</p>
<p>Die Idee kommt daher, dass Debugging ergeben hat (^^), dass alle Programme mehrmals in der Sekunde waveInAddBuffer aufrufen um Daten vom Mikrofon zu erhalten.</p>
<blockquote>
<p>Und wie &quot;hookst&quot; du die Funktion überhaupt?</p>
</blockquote>
<p>Detours.h von Microsoft, ich hooke die API aus einer DLL die ich mit meinem Injector in die Programme lade. (LoadLibraryA Methode)</p>
<p>Warum reicht das denn nicht aus? Die Funktion füllt doch den übergebenen Buffer, kann man das nicht mit fake-Daten probieren? Ich müsste nur mein sound-file (test.mp3) in dieses WavStream Format bringen was da erwatet wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391586</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Thu, 25 Oct 2007 05:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Thu, 25 Oct 2007 15:21:18 GMT]]></title><description><![CDATA[<p>Du solltest dir wirklich mal die Doku durchlesen und versuchen sie zu verstehen.</p>
<p>waveInAddBuffer übergibt einen Puffer an die API der dann SPÄTER gefüllt wird.<br />
Wenn er fertig gefüllt ist wird das Programm benachrichtigt (Callback, Event, ...).<br />
D.h. in waveInAddBuffer, bzw. gleich nachdem waveInAddBuffer zurückkehrt sind die Daten vom Eingang der Soundkarte noch NICHT im Puffer drinnen, das passiert später.<br />
Daher macht es IMO auch keinen Sinn diese Funktion zu hooken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391976</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 25 Oct 2007 15:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Thu, 25 Oct 2007 15:34:53 GMT]]></title><description><![CDATA[<p>Sicher das waveInAddBuffer() überhaupt verwendet wird? Die meisten Programme gehen doch eher über DirectShow hätte ich gedacht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1391983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1391983</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 25 Oct 2007 15:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to Soundstream Input &amp;gt;&amp;gt; Output on Thu, 25 Oct 2007 16:10:52 GMT]]></title><description><![CDATA[<p>Ok ihr habt recht, ich muss mir wohl doch meinen Treiber zusammenschustern.<br />
DDK hab ich ja schon drauf, wünscht mir Glück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392003</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Thu, 25 Oct 2007 16:10:52 GMT</pubDate></item></channel></rss>