MediaPlayer



  • hallo

    muss für die schule einen media player proggrammieren. nun hab jetzt 2 formulare einmal den hauptteil(frm_main) mit der MediaPlayer komponente und so und einmal die Playlist(frm_playlist). Als Playlist hab ich eine ganz normale Listbox genommen. Jetzt will ich den ersten Eintrag aus der Listbox mit der MediaPlayer Komponente abspielen... ich weiss aber net wie ich des hinbekommen soll.

    Danke schonmal für die Antworten



  • Die TMediaPlayer Komponente auswählen, F1 drücken und OPEN anschauen



  • MediaPlayer->FileName = frm_playlist->list_play->ItemIndex == 0; 
    MediaPlayer->DeviceType = dtWaveAudio; 
    MediaPlayer->Open();
    MediaPlayer->Play();
    

    so das hab ich bisher so gemacht...jetzt kommt aber die fehlermeldung:

    [C++ Fehler] player.cpp(38): E2015 Mehrdeutigkeit zwischen '_fastcall System::AnsiString::AnsiString(char)' und '_fastcall System::AnsiString::AnsiString(short)'

    bin damit total überfordert... bitte helft mir 🙄



  • der fehler kommt nach dem erste gleichzeichen...



  • MediaPlayer->FileName = frm_playlist->list_play->ItemIndex == 0;

    Ist ja so auch falsch:

    MediaPlayer->FileName =list_play->Items->Strings[0]
    gibt dir den 0ten zurück

    for(x=0;x<list_play->Items->Count;x++)
    MediaPlayer->FileName =list_play->Items->Strings[x]

    geht alle durch

    MediaPlayer->FileName =list_play->Items->Strings[list_play->ItemIndex]
    gibt den ausgewählten zurück



  • Wobei

    for(x = 0; x < list_play->Items->Count; x++) 
         MediaPlayer->FileName = list_play->Items->Strings[x];
    

    völlig sinlos ist.



  • Ja soweit danke schön. jetzt hab ich aber schon wieder nen neuen fehler wo ich net weiterkomme 😕 wenn ich das jetzt compiliere und danach starten will unterbricht das und es kommt diese fehlermeldung

    ---------------------------
    Benachrichtigung über Debugger-Exception
    ---------------------------
    Im Projekt Project1.exe ist eine Exception der Klasse EMCIDeviceError aufgetreten. Meldung: 'Kann keinen Gerätetyp aus der angegebenen Dateinamenerweiterung ermitteln.'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.

    Danke schonmal



  • @Reyx

    Es geht darum, dass Prinzip zu verdeutlichen. Ich denke das ist klar geworden.

    Du kannst mir glauben, dass es mir sehr wohl bewusst ist, dass das relativ sinnlos ist.



  • Was für eine Datei willst du abspielen?

    Setze

    MediaPlayer->DeviceType=dtAutoSelect;



  • Christian211 schrieb:

    MediaPlayer->DeviceType=dtAutoSelect;

    jo das hab ich jetzt gesetzt. hat aber leider nichts genützt. DIe Datei die ich abspielen möchte muss ich ja erst noch in die Playlist einfügen, aber soweit komm ich ja leider net. Bricht ja schon bevor das Programm gestartet ist ab.

    Naja vieln dank schonmal wieder



  • Du musst dem Player doch erst die Datei bekanntgeben, bevor er sich abspielen kann 😕 😕



  • also kann ich nicht erst ohne Datei mein prog starten und dann neue lieder in Die playlist einfügen und dann die Datei aus der playlist auswählen und abspielen? ich hoffe ihr versteht was ich meine....



  • @Christian211
    War mir schon klar, aber wer weiß wie manche Script-Kiddies in den Weiten des Netzes das auffassen 😉

    @REFFÜR
    Du darfst deiner TMediaPlayer-Instanz erst dann die Open()-Methode ausführen lassen, wenn du bereits die FileName-Property auf einen gültigen Dateinamen gesetzt hast, und der TMediaPlayer mit der Datei auch etwas anfangen kann. Dateien wie z.B. m4a oder ogg kann diese nicht abspielen, bei avi, mp3, mpg und dergleichen sollten die Grenzen bei den installierten Codecs liegen.
    Pass einfach auf, dass du deiner TMediaPlayer-Instanz keine Aktionen durchführen lässt, die das Bekanntsein einer Datei vorraussetzen, mit der agiert werden soll!



  • Jo danke Reyx. Das Prog startet jetzt wenigstens wieder. muss das jetzt aber noch irgendwie hinkriegen das der jetzt sound abspielt


Anmelden zum Antworten