<?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[acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten]]></title><description><![CDATA[<p>Hallo!<br />
Ich habe einen Audiorecorder geschrieben bei dem man zum Recorden den Codec bestimmen muss, das mach ich mit folgendem Code:</p>
<pre><code class="language-cpp">ACMFORMATCHOOSE selCodec;
	ZeroMemory(&amp;m_Wave.m_pcmWaveFormat, sizeof(WAVEFORMATEX));
	ZeroMemory(&amp;selCodec, sizeof(selCodec));
	selCodec.cbStruct = sizeof(selCodec);
	selCodec.cbwfx = sizeof(WAVEFORMATEX);
	selCodec.pwfx = &amp;m_Wave.m_pcmWaveFormat;
	selCodec.fdwStyle = 0;//ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT;

	DWORD returns = acmFormatChoose(&amp;selCodec);
	if(returns != MMSYSERR_NOERROR)
	{
		if(returns == ACMERR_NOTPOSSIBLE)
		{
			MessageBox(0, theApp.GetText(&quot;The selected Codec doesn't support recording!&quot;), 0, 0);
		}
}
</code></pre>
<p>m_Wave.m_pcmWaveFormat ist vom Typ WAVEFORMATEX..<br />
ich versteh nicht dass ich da NOTPOSSIBLE bekomme...am Codec liegts nicht da wenn ich beim Audiorecorder den selben Codec auswähle alles funktioniert..die MSDN sagt nur</p>
<pre><code>ACMERR_NOTPOSSIBLE The buffer identified by the pwfx member of the ACMFORMATCHOOSE structure is too small to contain the selected format.
</code></pre>
<p>Bitte helft mir..bin echt am verzweifeln!</p>
<p>Kevin</p>
<p>P.S.: Mit PCM funktioniert alles..nur alle anderen Codecs wollen nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/71130/acmformatchoose-acmerr_notpossible-wieso-experten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 17:19:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/71130.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Apr 2004 09:19:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 09:19:58 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich habe einen Audiorecorder geschrieben bei dem man zum Recorden den Codec bestimmen muss, das mach ich mit folgendem Code:</p>
<pre><code class="language-cpp">ACMFORMATCHOOSE selCodec;
	ZeroMemory(&amp;m_Wave.m_pcmWaveFormat, sizeof(WAVEFORMATEX));
	ZeroMemory(&amp;selCodec, sizeof(selCodec));
	selCodec.cbStruct = sizeof(selCodec);
	selCodec.cbwfx = sizeof(WAVEFORMATEX);
	selCodec.pwfx = &amp;m_Wave.m_pcmWaveFormat;
	selCodec.fdwStyle = 0;//ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT;

	DWORD returns = acmFormatChoose(&amp;selCodec);
	if(returns != MMSYSERR_NOERROR)
	{
		if(returns == ACMERR_NOTPOSSIBLE)
		{
			MessageBox(0, theApp.GetText(&quot;The selected Codec doesn't support recording!&quot;), 0, 0);
		}
}
</code></pre>
<p>m_Wave.m_pcmWaveFormat ist vom Typ WAVEFORMATEX..<br />
ich versteh nicht dass ich da NOTPOSSIBLE bekomme...am Codec liegts nicht da wenn ich beim Audiorecorder den selben Codec auswähle alles funktioniert..die MSDN sagt nur</p>
<pre><code>ACMERR_NOTPOSSIBLE The buffer identified by the pwfx member of the ACMFORMATCHOOSE structure is too small to contain the selected format.
</code></pre>
<p>Bitte helft mir..bin echt am verzweifeln!</p>
<p>Kevin</p>
<p>P.S.: Mit PCM funktioniert alles..nur alle anderen Codecs wollen nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/501818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501818</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Thu, 15 Apr 2004 09:19:58 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 11:36:07 GMT]]></title><description><![CDATA[<p>hola Surkevin</p>
<p>dein problem ist WAVEFORMATEX. die codecs verwenden eine erweiterte version dieses structs. die sind zumeist groesser als WAVEFORMATEX.</p>
<p>fuer die maximale groesse von WAVEFORMATEX deiner codecs verwendest am besten<br />
acmMetrics.<br />
wuerde ungefaehr so aussehen:</p>
<pre><code class="language-cpp">unsigned int error = 0;
   unsigned int max_size = 0;
   error = acmMetrics(0,ACM_METRIC_MAX_SIZE_FORMAT,&amp;max_size);
</code></pre>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501921</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 15 Apr 2004 11:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 11:42:06 GMT]]></title><description><![CDATA[<p>und wie soll ich das acmMetrics in Verbindung mit dem WAVEFORMATEX verwenden?</p>
<p>Reicht es nicht wenn ich (habe ich vorhin gelesen) eine eigene WAVEFORMATEX Struktur mache, der ich dann noch 128Byte +- mehr Platz gebe? Wenn ich dann das WAVEFORMATEX zum Aufnehmen verwende..wird es dann überhaupt richtig im Codec aufgenommen oder fehlt dann noch was?</p>
<p>Danke</p>
<p>Kevin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501925</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Thu, 15 Apr 2004 11:42:06 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 11:47:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct TWAVEFORMATEX
{
	WAVEFORMATEX waveFormat;
	BYTE byte[128];
};
</code></pre>
<p>DAmit tuts...aufnehmen kanners und abspielen ebenfalls <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/501930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501930</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Thu, 15 Apr 2004 11:47:57 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 11:52:22 GMT]]></title><description><![CDATA[<p>re</p>
<p>probiers mal so:</p>
<pre><code class="language-cpp">WAVEFORMATEX *wfx;
....
unsigned int error = 0;
unsigned int max_size = 0;
error = acmMetrics(0,ACM_METRIC_MAX_SIZE_FORMAT,&amp;max_size);
char *temp = new char[max_size];
wfx = (WAVEFORMATEX*)temp;
</code></pre>
<p>wfx &lt;- wird dann von acmFormatChoose richtig gefuellt. falls ich mich da jetz nicht verrannt habe.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501934</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 15 Apr 2004 11:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 12:00:34 GMT]]></title><description><![CDATA[<p>mh auf &quot;meine&quot; Art gehts auch..gefällt sie dir nicht? <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="🙂"
    /> Ich denke im Grunde ist da kein großer Unterschied!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501943</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Thu, 15 Apr 2004 12:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 12:14:31 GMT]]></title><description><![CDATA[<p>re</p>
<p>ich hatte deinen letzten beitrag zu spaet gesehen, ansonsten haett ich mir den letzten post erspart. klar gehts mit deiner variante auch ;o)</p>
<p>Meep Meep</p>
<p>PS: alle codecs werden uebrigens nicht funktionieren. da musst du dann paar bytes von hand eingeben. ansonsten verweigern sie den dienst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/501952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/501952</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Thu, 15 Apr 2004 12:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Thu, 15 Apr 2004 15:12:17 GMT]]></title><description><![CDATA[<p>mh verdammt..wenn ich jetzt mit den neu ausgewählten Codecs versuche aufzunehmen krieg ich immer die Exception dass der Codec aufnehmen nicht unterstützt? was jetzt? Mit PCM in höchster Quali aufnehmen und dann konvertieren? Aber wie konvertieren?</p>
<p>grml</p>
<p>Kevin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/502072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/502072</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Thu, 15 Apr 2004 15:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Sat, 17 Apr 2004 05:23:10 GMT]]></title><description><![CDATA[<p>konvertieren machst mit den acmStream funktionen.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/503031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/503031</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sat, 17 Apr 2004 05:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Sat, 17 Apr 2004 13:26:57 GMT]]></title><description><![CDATA[<p>Weißt du was an dem Code falsch sein könnte?</p>
<p>acmStreamPrepareHeader gibt MMSYSERR_INVALPARAM zurück <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">WAVEFORMATEX recorded
	theMainFrame-&gt;GetAudioMgr()-&gt;MakeRecordFormat(&amp;recorded);
	ACMSTREAMHEADER streamheader;
	if(acmStreamOpen(&amp;phas,
		0, &amp;recorded,
		//&amp;recorded,
		&amp;theMainFrame-&gt;GetAudioMgr()-&gt;m_currentWaveFormat,
		0,
		0,
		0,
		0) != 0)
	{
		MessageBox(0, theApp.GetText(&quot;Error while converting!&quot;), 0, 0);
		return;
	}

	ZeroMemory(&amp;streamheader, sizeof(ACMSTREAMHEADER));
	DWORD iBufferLength = 0;
	acmStreamSize(phas, m_Wave.m_buffer.GetNumSamples() * recorded.nBlockAlign,
		&amp;iBufferLength, ACM_STREAMSIZEF_SOURCE);
	void* buffer = new BYTE[iBufferLength];
	streamheader.cbStruct = sizeof(ACMSTREAMHEADER);
	streamheader.fdwStatus = NULL;
	streamheader.dwUser = 0;
	streamheader.pbSrc = (unsigned char*)m_Wave.m_buffer.GetBuffer();
	streamheader.cbSrcLength = m_Wave.m_buffer.GetNumSamples() * recorded.nBlockAlign;
	streamheader.cbSrcLengthUsed = streamheader.cbSrcLength;
	streamheader.dwSrcUser = 0;
	streamheader.pbDst = (unsigned char*)buffer;
	streamheader.cbDstLength = iBufferLength;
	streamheader.cbDstLengthUsed = streamheader.cbDstLength;
	streamheader.dwDstUser = 0;
	//streamheader.dwReservedDriver = 0;

    HCURSOR hTemp = GetCursor();

	::SetCursor(LoadCursor(::AfxGetInstanceHandle(),
		MAKEINTRESOURCE(IDC_WAIT)));

	if(acmStreamPrepareHeader(phas, &amp;streamheader,
		0) != 0)
	{
		MessageBox(0, theApp.GetText(&quot;Error while converting!&quot;), 0, 0);
		return;
	}	

	if(acmStreamConvert(phas, &amp;streamheader, 0) != 0)
	{
		MessageBox(0, theApp.GetText(&quot;Error while converting!&quot;), 0, 0);
		return;
	}

	if(acmStreamUnprepareHeader(phas, &amp;streamheader, 0) != 0)
	{
		MessageBox(0, theApp.GetText(&quot;Error while converting!&quot;), 0, 0);
		return;
	}

	::SetCursor(hTemp);

	DeleteObject(hTemp);

	m_Wave.SetBuffer(buffer, m_Wave.GetNumSamples(), TRUE);

	delete buffer;
</code></pre>
<p>recorded ist das Format mit dem aufgenommen wurde (PCM, Stereo, 22050Hz, 16)<br />
und m_currentFormat ist das in das konvertiert werden soll (PCM, Mono, 8000, 16)</p>
<p>Die Samples bleiben ja mit dem Konvertieren gleich...ich denke der Rest von unbekanntem Code sollte am Namen erkennbar sein.</p>
<p>Ich hoffe jemand kann nochmal helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Kevin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/503235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/503235</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Sat, 17 Apr 2004 13:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Mon, 19 Apr 2004 08:27:42 GMT]]></title><description><![CDATA[<p>re</p>
<p>ueberpruef nochmal acmStreamOpen. ich weiß nicht recht, ob man da den HACMDRIVER wirklich auf 0 setzen darf.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/504152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/504152</guid><dc:creator><![CDATA[(Meep Meep)]]></dc:creator><pubDate>Mon, 19 Apr 2004 08:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to acmFormatChoose ACMERR_NOTPOSSIBLE WIESO? Experten on Mon, 19 Apr 2004 12:00:45 GMT]]></title><description><![CDATA[<p>HI!<br />
Doch darf man, dann sucht er den richtigen raus...habs jetz hingekriegt, musste viel ändern. Was genau weiß ich nicht mehr, wenn sich jemand für den richtigen Code interessiert poste ich ihn.</p>
<p>Kevin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/504310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/504310</guid><dc:creator><![CDATA[Surkevin]]></dc:creator><pubDate>Mon, 19 Apr 2004 12:00:45 GMT</pubDate></item></channel></rss>