<?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[Playlist - Hilfe!]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin jetzt mit meinem Latein am Ende deswegen frage ich euch: Habe ne Playlist erstellt, die ich mit dem TMediaPlayer abspielen lassen will. Wenn ich das Programm ausführe (im Debug Modus) klappt auch alles wunderbar...<br />
Wenn ich allerdings die fertige .exe Datei ausführe und die Playlist abspielen lassen will, wird immer nur das erste und letzte Lied abgespielt???!!<br />
Hier mein Code:</p>
<p>int iItems = ListBox1-&gt;Items-&gt;Capacity;</p>
<p>if(libPlaylist-&gt;ItemIndex &lt; iItems - 1)<br />
{<br />
ListBox1-&gt;ItemIndex++;<br />
MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-ItemIndex];<br />
libPlaylist-&gt;ItemIndex = ListBox1-&gt;ItemIndex;<br />
MediaPlayer1-&gt;Open(); // Media Player aktivieren<br />
MediaPlayer1-&gt;Notify = true;<br />
MediaPlayer1-&gt;Play();<br />
}</p>
<p>if(MediaPlayer1-&gt;Mode == mpPlaying)<br />
MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &gt;&gt; btPlay &lt;&lt; btPause &lt;&lt; btStop;</p>
<p>Hoffe ihr könnt mir helfen!<br />
Gruß Pit</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185532/playlist-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 11:14:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185532.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Jun 2007 16:56:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Playlist - Hilfe! on Tue, 26 Jun 2007 16:56:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bin jetzt mit meinem Latein am Ende deswegen frage ich euch: Habe ne Playlist erstellt, die ich mit dem TMediaPlayer abspielen lassen will. Wenn ich das Programm ausführe (im Debug Modus) klappt auch alles wunderbar...<br />
Wenn ich allerdings die fertige .exe Datei ausführe und die Playlist abspielen lassen will, wird immer nur das erste und letzte Lied abgespielt???!!<br />
Hier mein Code:</p>
<p>int iItems = ListBox1-&gt;Items-&gt;Capacity;</p>
<p>if(libPlaylist-&gt;ItemIndex &lt; iItems - 1)<br />
{<br />
ListBox1-&gt;ItemIndex++;<br />
MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-ItemIndex];<br />
libPlaylist-&gt;ItemIndex = ListBox1-&gt;ItemIndex;<br />
MediaPlayer1-&gt;Open(); // Media Player aktivieren<br />
MediaPlayer1-&gt;Notify = true;<br />
MediaPlayer1-&gt;Play();<br />
}</p>
<p>if(MediaPlayer1-&gt;Mode == mpPlaying)<br />
MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &gt;&gt; btPlay &lt;&lt; btPause &lt;&lt; btStop;</p>
<p>Hoffe ihr könnt mir helfen!<br />
Gruß Pit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314186</guid><dc:creator><![CDATA[pit2]]></dc:creator><pubDate>Tue, 26 Jun 2007 16:56:42 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Tue, 26 Jun 2007 17:29:56 GMT]]></title><description><![CDATA[<p>In deinem Codeausschnitt fehlt der Teil mit der Schleife, deshalb ist keine endgültige Aussage möglich.<br />
Auf jeden Fall sieh dir nochmal die Hilfe zu <em>Capacity</em> an; was du willst heisst <em>Count</em>.</p>
<p>Und in Zukunft bitte die <a href="http://www.c-plusplus.net/forum/faq.php?mode=bbcode" rel="nofollow">Code-Tags</a> verwenden. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314204</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Tue, 26 Jun 2007 17:29:56 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Wed, 27 Jun 2007 00:41:35 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Ich bin ein Schulkollege vom pit2 und wir arbeiten zusammen an dem Projekt. Ich hab mir jetzt 3 Stunden den Kopf zerbrochen über die Playlist aber hab absolut keine Ahnung warum das nicht funktioniert. Wie schon gesagt wenn ich das ganze mit dem Borland starte geht es. Wenn man die exe von Hand startet funktioniert das nicht. Mein Wissen reicht leider nicht aus zu verstehen warum das so ist.</p>
<p>Das mit dem Count hab ich mir angekuckt. Wenn ich das einigermassen verstanden habe ist das sowas ähnliches wie for_each. Was mir das hier helfen soll weis ich aber nicht.</p>
<p>Ich poste hier mal den ganzen Code. Die ListBox1 ist die Playlist für den Player. Die libPlaylist ist auch eine ListBox allerdings nur für die Anzeige da hier Titel, Interpret etc angezeigt werden.</p>
<pre><code class="language-cpp">void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
    int iItems = ListBox1-&gt;Items-&gt;Capacity;

    if(MediaPlayer1-&gt;Mode == mpPlaying)
	    MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &gt;&gt; btPlay &lt;&lt; btPause &lt;&lt; btStop;

    else if(MediaPlayer1-&gt;Mode == mpStopped)       // Sobald Stoptaste gedrueckt wird, Player stoppen
        {
	    MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &lt;&lt; btPlay &gt;&gt; btPause &gt;&gt; btStop;
        MediaPlayer1-&gt;Stop();

       ListBox1-&gt;ItemIndex = 0;
       libPlaylist-&gt;ItemIndex = 0;
   	MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-&gt;ItemIndex];
   	MediaPlayer1-&gt;Open();                  // Media Player aktivieren

        }

    if(libPlaylist-&gt;ItemIndex + 1 == iItems &amp;&amp; libPlaylist-&gt;ItemIndex != -1)       // Player anhalten, sobald das letzte Lied zu ende ist
    	{
        MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &lt;&lt; btPlay &gt;&gt; btPause &gt;&gt; btStop;
    	MediaPlayer1-&gt;Stop();
        ListBox1-&gt;ItemIndex = 0;
        libPlaylist-&gt;ItemIndex = 0;
        MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-&gt;ItemIndex];
        MediaPlayer1-&gt;Open();                  // Media Player aktivieren
        MediaPlayer1-&gt;Notify = true;
       	}

    else
    {
    	if (iItems &gt; 0)
    	{
       		ListBox1-&gt;ItemIndex++;
    		   MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-&gt;ItemIndex];
       		libPlaylist-&gt;ItemIndex = ListBox1-&gt;ItemIndex;
       		MediaPlayer1-&gt;Open();              // Media Player aktivieren
               MediaPlayer1-&gt;Notify = true;
               MediaPlayer1-&gt;Play();

        }
     }
}
</code></pre>
<p>Währe fein wenn jemand sich das ankucken würde! Morgen ist nämlich Abgabe-Termin und bis auf die Playlist funktioniert eigentlich alles.</p>
<p>Gruß ALex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314433</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Wed, 27 Jun 2007 00:41:35 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Wed, 27 Jun 2007 02:14:51 GMT]]></title><description><![CDATA[<p>Habs das ganze jetzt neu angefangen. Aber es ist immer noch das Problem das er vom ersten Lied direkt zum letzten springt. Hab langsam die Schnauze voll! Hier der Code:</p>
<pre><code class="language-cpp">void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender)
{
  if(MediaPlayer1-&gt;Mode == mpPlaying)
        if ((ListBox1-&gt;ItemIndex) + 1 != ListBox1-&gt;Count)
        {

        ListBox1-&gt;ItemIndex++;
        libPlaylist-&gt;ItemIndex = ListBox1-&gt;ItemIndex;

        MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &gt;&gt; btPlay &lt;&lt; btPause &lt;&lt; btStop;
        MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-&gt;ItemIndex];
        MediaPlayer1-&gt;Open();                  
        MediaPlayer1-&gt;Notify = true;
        MediaPlayer1-&gt;Play();
        }

  if(MediaPlayer1-&gt;Mode == mpStopped)       
        {
        MediaPlayer1-&gt;EnabledButtons = MediaPlayer1-&gt;EnabledButtons &lt;&lt; btPlay &gt;&gt; btPause &gt;&gt; btStop;
        MediaPlayer1-&gt;Stop();
        MediaPlayer1-&gt;Rewind();
        }
}
</code></pre>
<p>Wenn jemand weis war hier falsch läuft dann bitte melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314437</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Wed, 27 Jun 2007 02:14:51 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Wed, 27 Jun 2007 07:18:03 GMT]]></title><description><![CDATA[<p>Hallo</p>
<pre><code class="language-cpp">if (ListBox1-&gt;ItemIndex &lt; ListBox1-&gt;Count)
</code></pre>
<p>halte ich für wesentlich eleganter</p>
<p>Ansonsten kann ich euch nur empfehlen in eurer Programm mal Logging-Ausgaben zu machen. Also das eure Programm zur Laufzeit die Aufrufe von Methoden und die Werte wichtiger Variablen in eine Textdatei schreibt die ihr dann auswertet. Insbesondere ist die Abbruchbedingung interessant.</p>
<p>Kompiliert ihr eurer Projekt im Debug- oder Releasemodus? Mit oder ohne Laufzeitpackages? Mit oder ohne dynamischen RTLs?</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314503</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 27 Jun 2007 07:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Fri, 29 Jun 2007 06:41:16 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<pre><code class="language-cpp">if (ListBox1-&gt;ItemIndex &lt; ListBox1-&gt;Count)
</code></pre>
<p>halte ich für wesentlich eleganter</p>
</blockquote>
<p>Hab ich so gemacht. War nur schnell hinprogrammiert zum testen</p>
<p>akari schrieb:</p>
<blockquote>
<p>Ansonsten kann ich euch nur empfehlen in eurer Programm mal Logging-Ausgaben zu machen. Also das eure Programm zur Laufzeit die Aufrufe von Methoden und die Werte wichtiger Variablen in eine Textdatei schreibt die ihr dann auswertet. Insbesondere ist die Abbruchbedingung interessant.</p>
<p>Kompiliert ihr eurer Projekt im Debug- oder Releasemodus? Mit oder ohne Laufzeitpackages? Mit oder ohne dynamischen RTLs?</p>
</blockquote>
<p>Sowohl als auch. Hab alle durchprobiert. Immer dasselbe. Es macht keinen Unterschied ob mit RTLs oder ohne usw. Im Debug-Modus gehts, sonst nicht.</p>
<p>Gruß Alex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314642</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Fri, 29 Jun 2007 06:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Fri, 29 Jun 2007 09:05:20 GMT]]></title><description><![CDATA[<p>Hab vergessen zu erwähnen das es im Debug-Modus auch mal nicht ging. Da war zu beobachten das direkt nach Aufruf des OnNotify-Ereignisses dieses wieder aufgerufen wurde, obwohl das Lied gerade mal angefangen hatte zu spielen. Als währe das ganze nur eine Schleife. Nach einem Neustart des Borlands ging es wieder.</p>
<p>Ich vermute dieses Phänomen tritt auch auf wenn das ganze ohne Debugger läuft. Man sieht nämlich schön wie der ItemIndex in der Playlist nach unten rauscht und beim letzten Lied stehen bleibt. Bloss woran kann das liegen? Normalerweise wird doch das OnNotify-Ereignis nur aufgerufen wenn eine Methode zu Ende ist?</p>
<p>Gruß Alex</p>
<pre><code class="language-cpp">void __fastcall TForm1::MediaPlayer1Notify(TObject *Sender) 
{ 
      if(ListBox1-&gt;ItemIndex + 1 &lt; ListBox1-&gt;Count)
       {
       ListBox1-&gt;ItemIndex++; 
       MediaPlayer1-&gt;FileName = ListBox1-&gt;Items-&gt;Strings[ListBox1-&gt;ItemIndex]; 
       MediaPlayer1-&gt;Open();                
       MediaPlayer1-&gt;Notify = true;
       MediaPlayer1-&gt;Play();
       } 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1314743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314743</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Fri, 29 Jun 2007 09:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Fri, 29 Jun 2007 09:47:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Normalerweise wird doch das OnNotify-Ereignis nur aufgerufen wenn eine Methode zu Ende ist?</p>
</blockquote>
<p>Naja, Play() ist ja zuende, aber das Lied hat grade erst angefangen, denk ich mal. Wenn du Notify=true setzt, bevor du Play() aufrufst, muß ja OnNotify gleich wieder ausgelöst werden. Also entweder du setzt Notify=true nach Play() oder du fragst ab, was der Grund für OnNotify war. Wenn Mode==mpPlaying setzt du wieder Notify=true und brichst ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314784</guid><dc:creator><![CDATA[Morris Szyslak]]></dc:creator><pubDate>Fri, 29 Jun 2007 09:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Fri, 29 Jun 2007 10:32:56 GMT]]></title><description><![CDATA[<p>Hi Morris,</p>
<p>soweit ich das verstanden habe muss Notify vor einer Methode, welche beim Beenden ein Notify-Ereignis auslösen soll, auf true gesetzt werden. Danach wirds automatisch auf false gesetzt d.h. es muss bei der nächsten Methode wieder auf true gesetzt werden wenn Notify gewünscht.</p>
<p>So oder ähnlich stehts in der Hilfe.</p>
<p>Aber das mit dem abfragen ob Mode == mpPlaying ist und dann nichts machen ist ne gute Idee. Die probier ich heut Abend gleich aus.</p>
<p>Gruß Alex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314835</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Fri, 29 Jun 2007 10:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Fri, 29 Jun 2007 15:27:10 GMT]]></title><description><![CDATA[<p>Funktioniert auch nicht. Bei MediaPlayer1-&gt; = mpStopped wurde der Player schon ganz beendet. Noch einer ne Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315092</guid><dc:creator><![CDATA[AlexDozer]]></dc:creator><pubDate>Fri, 29 Jun 2007 15:27:10 GMT</pubDate></item><item><title><![CDATA[Reply to Playlist - Hilfe! on Mon, 02 Jul 2007 09:14:54 GMT]]></title><description><![CDATA[<p>Ich glaube, das liegt daran, daß du in der OnNotify-Methode selbst wieder 'Notify' modifizierst -&gt; Rekursion.</p>
<p>Ich habe mal ein ähnliches Projekt geschrieben (habe leider hier den Source nicht mehr), aber ich habe dafür einen Timer benutzt, der den aktuellen Zustand (Position) abgefragt hat und entsprechend darauf reagiert hat. (Bei Songs hintereinander abspielen, sollte eine Timer von z.B. 100-200ms reichen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1316652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1316652</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Mon, 02 Jul 2007 09:14:54 GMT</pubDate></item></channel></rss>