TMediaPlayer Programm friert beim abspielen einer Videos ein



  • Hi!!!
    Ich habe folgenden Code um ein Video abzuspielen:

    MediaPlayer1->FileName="video.avi";
      TRect r;
      MediaPlayer1->DeviceType = dtAutoSelect;
      MediaPlayer1->Display = Form1;
      MediaPlayer1->Open();
    
      try
      {
    
       float width = MediaPlayer1->DisplayRect.Right;
       float height = MediaPlayer1->DisplayRect.Bottom;
       float Proportion = width / height;
       int   VideoSize = Screen->Width;       
    
       if(width >= height)
       {
        r.right = VideoSize;
        r.bottom = Screen->Height;
       }
        else{ r.bottom = VideoSize * Proportion;
              r.right = VideoSize; }
              r.left = 0;
              r.top = 0;
    
       MediaPlayer1 -> DisplayRect = r;
       MediaPlayer1->Wait = true;
       MediaPlayer1->Play();
      }
      __finally
      {
        MediaPlayer1->Close();
      }
    

    Wenn der MediaPlayer jetzt ein Video abspielt, wird kein anderer Code ausgeführt. Ist es möglich, dass ein Video abgespielt wird und gleichzeitig das Programm noch andere Aktionen durchführt???



  • Hi,

    warum nimmst du als Display ausgerechnet das Formular?

    Klar, dass während des Versuches der Video-Wiedergabe nix geht.
    Lege auf dein Form ein Panel als Display.

    Wenn du nicht weisst, wie gross die Video-Frames sind, gehe in der Datei-Explorer
    und mit einem Rechtsklick siehst du unter den Eigenschaften alles.
    So gross machst du das Panel (mindestens für 1:1).

    Edit: Alles was in try/catch steht, kannst du entsorgen...

    mfg
    Peter



  • Ok ist gelöst... es lag an diser Zeile:

    MediaPlayer1->Play();
    

    Aber ich habe eine andere Frage... ich will, dass sich der Mediaplayer wieder schließt nachdem das Video abgespielt wurde. Wie kann ich das machen???



  • Zitat aus der BCB-Hilfe :

    Das Ereignis OnNotify wird ausgelöst, wenn die Ausführung einer Methode zur Steuerung des Media-Players beendet ist.

    mfg
    Peter


Anmelden zum Antworten