fabian24 hat gesagt.:
Hallo,
das ist schwierig, aber trotzdem:
Erstelle einen Timer (
Interval=100; Name=Timer1)
Erstelle Zwei Label:
1)
TrackTime = Länge des clips/songs
2) Position = Aktuelle Zeit
Erstelle das
OnTimer Event des Timers:
Code:
{
if (MediaPlayer1->Mode != mpNotReady)
Position->Caption = TimeString(MediaPlayer1->Position,MediaPlayer1->TimeFormat);
}
Jetzt füge einfach unten in den Quelltext ein; String für
TimeFormat:
Code:
AnsiString TForm1::TimeString(int Time,TMPTimeFormats TimeFormat)
{
char Buffer[20];
switch(TimeFormat)
{
case tfMSF :
{int Minutes = MCI_MSF_MINUTE(Time);
int Seconds = MCI_MSF_SECOND(Time);
int Frames = MCI_MSF_FRAME(Time);
sprintf(Buffer,"%.2i: %.2i /frame %.2i",Minutes,Seconds,Frames);
break ;}
case tfTMSF :
{int Minutes = MCI_TMSF_MINUTE(Time);
int Seconds = MCI_TMSF_SECOND(Time);
int Track = MCI_TMSF_TRACK(Time);
int Frames = MCI_TMSF_FRAME(Time);
sprintf(Buffer,"Track %.2i %.2i:%.2i /frame %.2i",Track,Minutes,Seconds,Frames);
break;}
case tfMilliseconds :
{int Minutes = Time/60000;
int Seconds = (Time/1000)%60;
int Frames = Time%1000;
sprintf(Buffer,"%.2i: %.2i.%.3i",Minutes,Seconds,Frames);
break ;}
case tfHMS :
{ int Hours=MCI_HMS_HOUR (Time);
int Minutes = MCI_HMS_MINUTE(Time);
int Seconds = MCI_HMS_SECOND(Time);
sprintf(Buffer,"%.2i %.2i:%.2i ",Hours,Minutes,Seconds);
break;}
case tfFrames : sprintf(Buffer,"%i frames", Time);
break;
case tfBytes : sprintf(Buffer,"%i Bytes",Time);
break;
case tfSamples : sprintf(Buffer,"%i Samples",Time);
break;
default :
{int Hours=MCI_HMS_HOUR (Time);
int Minutes = MCI_HMS_MINUTE(Time);
int Seconds = MCI_HMS_SECOND(Time);
int Frames = MCI_TMSF_FRAME(Time);
sprintf(Buffer,"%.2i: %.2i: $.2i .%i",Hours,Minutes,Seconds,Frames);
}
}
return AnsiString(Buffer);
}
Hänge diesen Code noch unten an das Event womit eine deine Dateien in den Media Player geladen werden.
Code:
}
if (MediaPlayer1->TimeFormat==tfTMSF)
{MediaPlayer1->TimeFormat=tfMSF; //For TrackLength we get rubbish if we use tfTMSF
TrackTime->Caption = TimeString(MediaPlayer1->TrackLength[CDTrackNum],MediaPlayer1->TimeFormat);
MediaPlayer1->TimeFormat=tfTMSF;}
else TrackTime->Caption = TimeString(MediaPlayer1->Length,MediaPlayer1->TimeFormat);
Timer1->Enabled= true;
}
Ich hoffe das hilft dir! ;-)

;-)
hi, vielen dank für den Code, aber es funktioniert irgendwie nicht, oder ich habe was falsch gemacht,
diese folgende fehlermeldung bekomme ich:
[C++ Fehler] Unit1.cpp(35): E2451 Undefiniertes Symbol 'TrackTime'
[C++ Fehler] Unit1.cpp(35): E2268 Aufruf der undefinierten Funktion 'TimeString'
[C++ Fehler] Unit1.cpp(35): E2451 Undefiniertes Symbol 'CDTrackNum'
[C++ Fehler] Unit1.cpp(138): E2268 Aufruf der undefinierten Funktion 'TimeString'
[C++ Fehler] Unit1.cpp(142): E2316 'TForm1::TimeString(int,TMPTimeFormats)' ist kein Element von 'TForm1'
[C++ Fehler] Unit1.cpp(150): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(150): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(150): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(157): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(157): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(157): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(157): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(163): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(163): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(163): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(169): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(169): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(169): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(182): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(182): E2323 Ungültiges Zahlensuffix
[C++ Fehler] Unit1.cpp(182): E2206 Ungültiges char-Zeichen '$' (0x24)
[C++ Fehler] Unit1.cpp(182): E2323 Ungültiges Zahlensuffix
ich verstehe nicht ganz, wo all diese codes hinkommen, ich würde mich sehr freuen wenn du es vieleicht ein bisschen anders erklären könntest, danke schonmal.
MFG Christian