<?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[Zeitliche Verzögerung?]]></title><description><![CDATA[<p>Hallo!<br />
Ich habe folgendes Problem: Ich spiele in meinem Programm eine mp3-datei ab und müsste zu bestimmten zeiten (also sagen wir z.b. wenn die mp3 bei 1:02,3 min ist) bestimmte aktionen durchführen. Das Auslesen der Zeiten ist überhaupt kein Problem, aber ich will das Porgramm eventl auch auf langsameren Rechnern nutzen, meint ihr das macht zeitliche Unterschiede? Wenn ja, kann ich diese irgendwie beheben?</p>
<p>Danke schonmal</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175179/zeitliche-verzögerung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 13:23:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175179.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Mar 2007 20:02:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Wed, 07 Mar 2007 20:02:21 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich habe folgendes Problem: Ich spiele in meinem Programm eine mp3-datei ab und müsste zu bestimmten zeiten (also sagen wir z.b. wenn die mp3 bei 1:02,3 min ist) bestimmte aktionen durchführen. Das Auslesen der Zeiten ist überhaupt kein Problem, aber ich will das Porgramm eventl auch auf langsameren Rechnern nutzen, meint ihr das macht zeitliche Unterschiede? Wenn ja, kann ich diese irgendwie beheben?</p>
<p>Danke schonmal</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241256</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Wed, 07 Mar 2007 20:02:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Wed, 07 Mar 2007 20:05:52 GMT]]></title><description><![CDATA[<p>Wie hast Du das denn bisher realisiert ? In Threads ? Dann konnteste Du ja die Interalle verringern in denen Du den Zeitwert prüfst oder ggf. mit Sleep/Events arbeiten. Mit welcher API gibst Du denn die Medien-Dateien wieder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241260</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 07 Mar 2007 20:05:52 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Wed, 07 Mar 2007 20:10:50 GMT]]></title><description><![CDATA[<p>Also ich hab das mit nem thread gemacht der eben dauerhaft abfragt wie weit die mp3 abgespielt ist. Ich gebe meine mp3 mit der MCI wieder. Also meinst du das jetz so, dass ich in den thread z.b. wenn ich jetz bei 1:02,3min bin und zum nächsten mak bei 1:05,7min abfragen muss, dass ich dann bei 1:02,3 nen sleep(3400) setze? Kann ich das sonst noch irgendwie verbessern? Gibt es schnellers als die MCI?</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241264</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Wed, 07 Mar 2007 20:10:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Thu, 08 Mar 2007 21:26:25 GMT]]></title><description><![CDATA[<p>Hi, ich hab en neues Problem und zwar kann ich vom Thread aus nicht die Abspielzeit abfragen...</p>
<p>Hier mein Code:<br />
PlayMp3 sendet den Play Befehl an die MCI und Playposition sendet den Abfragebefehl und gibt die Abspielzeit auf dem BIldschirm aus.</p>
<pre><code class="language-cpp">case ID_PLAY://Play Taste
PlayMp3(&quot;C:\\Dokumente und Einstellungen\\4.wma&quot;);
_beginthread(Thread2,0,NULL);//Hier wird der Thread aufgerufen
PlayPosition(hWnd,hdc);
break;
case ID_V://Abfragen der Abspielzeit
hdc=GetDC(hWnd);
PlayPosition(hWnd,hdc);//Gibt die Abspielzeit auf dem Bildschirm aus
ReleaseDC(hWnd,hdc);
break;
</code></pre>
<p>Thread:</p>
<pre><code class="language-cpp">void Thread2(PVOID)
{
while(1)
{
HDC hdc2=GetDC(hWnd);
PlayPosition(hWnd,hdc2);
ReleaseDC(hWnd,hdc2);
}
}
</code></pre>
<p>Das klappt auch alles richtig... Wenn ich auf play starte spielt er ab und auf ID_V gibt er die abspielzeit aus...<br />
Im Thread allerdings gibt er allerdings gar nichts aus... Kann ich aus dem Thread keine Sachen auf dem Bildschirm ausgeben?</p>
<p>Danke</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1241984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1241984</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Thu, 08 Mar 2007 21:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Thu, 08 Mar 2007 22:35:26 GMT]]></title><description><![CDATA[<p>Doch das sollte theoretisch möglich sein, die DC's werden auch intern synchronisiert, das sollte kein Problem sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
<p>Wie und wo wird denn hier der DC initialisiert ?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<p>Hansi schrieb:</p>
<blockquote>
<pre><code class="language-cpp">case ID_PLAY://Play Taste
PlayMp3(&quot;C:\\Dokumente und Einstellungen\\4.wma&quot;);
_beginthread(Thread2,0,NULL);//Hier wird der Thread aufgerufen
PlayPosition(hWnd,hdc);
break;
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1242004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242004</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 08 Mar 2007 22:35:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Fri, 09 Mar 2007 12:01:29 GMT]]></title><description><![CDATA[<p>Ja, wenn ich das umänder gibt er mir wenn ich auf Play drücke auch die Abspielzeit aus. Aber im Thread funktioniert das immernoch net...</p>
<p>Also normalerweise sollte er das in der Funktion PlayPosition auf den Bildschirm ausgeben:</p>
<pre><code class="language-cpp">int PlayPosition(HWND hWnd, HDC hdc) 
{ 
char cmd[500];
char retval[500]; 
DWORD retVal; 
wsprintf(cmd,&quot;status mp3player position&quot;); 
retVal=mciSendString(cmd, retval, 500, NULL); 
ms=atoi(retval); 
sek=ms/1000;  
ms=ms-sek*1000;
min=sek/60;          
hours=min/60;       
sek2=sek-(hours*60)-(min*60);    
    wsprintf(cmd,&quot;%i:%i:%i,%i&quot;,hours,min,sek2,ms); 
   SetWindowText(hWnd,cmd); 
TextOut(hdc,1,1,cmd,10);
    return 0; 
}
</code></pre>
<p>Kann das dadran irgendwie liegen? Kann ich das irgendwie umändern, dass es klappt?</p>
<p>Danke</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1242230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242230</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Fri, 09 Mar 2007 12:01:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zeitliche Verzögerung? on Fri, 09 Mar 2007 18:45:07 GMT]]></title><description><![CDATA[<p>Also ich habs jetzt behoben, idem ich jetzt alles direkt im Thread mache:</p>
<pre><code class="language-cpp">void Thread2(PVOID)
{
//Wiedergabe starten	
char cmd[500]; 
wsprintf(cmd,&quot;open \&quot;%s\&quot; alias mp3player&quot;,&quot;C:\\Dokumente...\\4.wma&quot;); 
    mciSendString(cmd,NULL,NULL,NULL);
    wsprintf(cmd,&quot;set mp3player time format milliseconds&quot;); 
  mciSendString(cmd,NULL,NULL,NULL);
    wsprintf(cmd,&quot;play mp3player&quot;,&quot;C:\\Dokumente...\\4.wma&quot;);
    mciSendString(cmd,NULL,NULL,NULL);			 
    DWORD retVal; 
    char retval[500]; 
while(1)
{
HDC hdc2=GetDC(hWnd);
char cmd[500];
char retval[500]; 
DWORD retVal; 
wsprintf(cmd,&quot;status mp3player position&quot;); 
retVal=mciSendString(cmd, retval, 500, NULL); 
ms=atoi(retval); 
sek=ms/1000;  
ms=ms-sek*1000;
min=sek/60;         
hours=min/60;       
sek2=sek-(hours*60)-(min*60);
wsprintf(cmd,&quot;%i:%i:%i,%i&quot;,hours,min,sek2,ms); 
SetWindowText(hWnd,cmd); 
TextOut(hdc2,1,1,cmd,10);
ReleaseDC(hWnd,hdc2);
}
}
</code></pre>
<p>Scheinbar hats dadran gelegen, dass der hWnd-Parameter an die Funktion Playposition net richtig übermittelt wurde... Weil wenn ich ne MessageBox hab ausgeben lassen, wurde die im Fenster gar net angezeigt...<br />
Dadurch, dass ich das jetz in den Thread umgelegt hab lädt es jetz zwar länger, aber hauptsache es läuft;) Also nochma danke für die HIlfe, bin jetzt echt sau happy <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>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1242491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1242491</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Fri, 09 Mar 2007 18:45:07 GMT</pubDate></item></channel></rss>