mediaplayer und die zeit
-
hallo,
in der hilfe gibts ja ein wunderschönes beispiel zur zeitangabe tfHMS.
bekommt ihr auch immer so utopische werte raus wie 229:93:0?
gibts evtl noch eine andere möglichkeit???das problem tritt auch bei wav und mp3 auf

-
Hallo
zeig mal her wie du das ausliest
MfG
Klaus
-
hallo klaus
ich hab einfach mal das teil aus der hilfe genommen. habs aber nun auch hinbekommen. hab die ms umgerechnet, das er mit stunden minuten sekunden anzeigt...
der quelltext etwas verändert aus dem beispiel
void __fastcall TForm1::Button1Click(TObject *Sender) { int TheLength; MediaPlayer1->TimeFormat = tfHMS; TheLength = MediaPlayer1->Length; Label1->Caption = IntToStr(LOBYTE(LOWORD(TheLength))) +":"+IntToStr(HIBYTE(LOWORD(TheLength))) +":"+IntToStr(LOBYTE(HIWORD(TheLength))); }
-
hi
ich wollte nun von meiner mp3 die länge und halt die aktuelle position auslesen (wegen so nem posotionsbalken) aber er schreibt mir immer "[C++ Fehler] mp3U.cpp(17): E2247 Zugriff auf 'TMediaPlayer::Length' nicht möglich"hier mal ebend mein QT
Form1->MediaPlayer1->FileName="mp3/test.mp3"; Form1->MediaPlayer1->Open(); Form1->MediaPlayer1->Stop(); Form1->MediaPlayer1->Length = TrackLength1;kann mir da jemand helfen warum das so ist zerbreche mir schon denk kopf(suchfunktion hab ich im forum schon benutzt und irgendwie nix gefunden was mir helfen tut)
MFG
RTO
-
Hi RTO,
zu deinem CPP-Code: Die Eigenschaft "Length()" vom TMediaPlayer ist eine Nur-Lese-Eigenschaft. Beim Laden einer Datei ermittelt TMediaPlayer Length() von selbst. Zusätzlich hast du "Position()". Ebenfalls "Nur-Lese".
ProgressBar1->Position = ((MediaPlayer1->Position() * 100) / MediaPlayer1->Length());Mit dem CPP-Code liest du die gegenwärtige Position des MediaPlayers aus.
TIPP: Use diesen Code in einem TTimer und aktiviere ihn erst nachdem du ein MCI-Gerät geöffnet hast und er im Play-Mode. Deaktiviere ihn, wenn der MediaPlayer im Stopp-Modus ist.