tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
5594
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    hi
    ich habe eine frage, wie kann ich die aktuelle zeit von MediaPlayer Komponente anzeigen lassen, wenn ich z.B. ein video clip starte dann soll die titel länge angezeigt werden das es dann herunterzählt wenn das Video läuft.

    ich danke euch schonmal für die antwort.

    MFG Andreas
     

  2. #2
    fabian24 fabian24 ist offline Mitglied Bronze
    Registriert seit
    Mar 2005
    Beiträge
    33
    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 :
    1
    2
    3
    4
    
    { 
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    
    }
    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!
     

  3. #3
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    Zitat Zitat von fabian24
    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 :
    1
    2
    3
    4
    
    { 
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    
    }
    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
     

  4. #4
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    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
     

  5. #5
    fabian24 fabian24 ist offline Mitglied Bronze
    Registriert seit
    Mar 2005
    Beiträge
    33
    Oh! Sorry!

    Der Fehler Liegt bei mir:
    Hab dir vergessen zu sagen das man die Header-Datei von Unit1 ändern muss.

    Bessere Idee! Gib mir deine E-Mail Adresse dann schick ich dir ein Beischbiel hierzu!
     

  6. #6
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    meine e-Mail lautet:

    bruce185@web.de

    ich danke dir schonmal.

    MFG Christian
     

  7. #7
    jackie05 jackie05 ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    293
    ich habe die mail bekommen, und die datei es hat funktioniert, ich bin dir sehr dankbar dass du mir geholfen hast.
    Noch eine Frage hätte ich:
    wie bekomme ich die millisekunden weg, weil das nervt, das muss doch irgendwie zu schaffen sein oder?

    MFG Christian
     

  8. #8
    AgentCyber AgentCyber ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    6
    Könntet ihr evtl. den richtigen Quellcode posten?

    Kommt ja nur Müll bei raus

    Danke
     

  9. #9
    Registriert seit
    Mar 2004
    Beiträge
    441
    Also ich könnte mir vorstellen, daß sich nach knapp 2 Jahren durchaus ein bißchen was an den Bibliotheken geändert hat. Zumindest sind die ursprünglichen Posts so alt.
     

  10. #10
    AgentCyber AgentCyber ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    6
    Aber der Code dürfte sich doch nicht so graviered geändert haben oder?
     

  11. #11
    fabian24 fabian24 ist offline Mitglied Bronze
    Registriert seit
    Mar 2005
    Beiträge
    33
    So ich habe jetzt hier alles nocheinmal zusammengefasst und ausprobiert.

    Habe alle Dateien und fertige EXE unten angehängt.

    Ich hoffe das es bei euch funktioniert.

    Gruß fabian24
    Angehängte Dateien Angehängte Dateien
     

Ähnliche Themen

  1. JSP Builder
    Von Matze im Forum Java
    Antworten: 2
    Letzter Beitrag: 16.03.09, 16:03
  2. C++ Builder 5 > 6
    Von Viper2009 im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 04.08.05, 21:37
  3. GUI Builder
    Von Grimreaper im Forum Java
    Antworten: 7
    Letzter Beitrag: 26.01.04, 10:40
  4. Von Builder 1.0 auf Builder <1 ?
    Von HubertS im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 21.11.03, 08:00
  5. C++ Builder 5
    Von Tretin im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 23.09.02, 20:57