Q&A

  • avi파일이 나올 때 그 파일 크기에 맞게
MediaPlayer를 사용하여 Panel부분에 Avi을 나타나게 하려고 하는 데

avi파일 화면만큼 panel 부분에 나타내려고 합니다. 방법 좀

그리고, MediaPlayer부분인 Display부분에 연결을 하지 않으면 그 크기에 맞게

나타납니다, 그러면 화면이 다 지나고 나면 자동적으로 Close하게 하려면 어떻게

해야 합니까, 위치도 중앙에 나타내려고 합니다.

고수님들의 지도 바랍니다.

1  COMMENTS
  • Profile
    이대선 1999.12.30 21:10
    초보 wrote:

    > MediaPlayer를 사용하여 Panel부분에 Avi을 나타나게 하려고 하는 데

    > avi파일 화면만큼 panel 부분에 나타내려고 합니다. 방법 좀

    > 그리고, MediaPlayer부분인 Display부분에 연결을 하지 않으면 그 크기에 맞게

    > 나타납니다, 그러면 화면이 다 지나고 나면 자동적으로 Close하게 하려면 어떻게

    > 해야 합니까, 위치도 중앙에 나타내려고 합니다.

    > 고수님들의 지도 바랍니다.

    1. 우선 panel의 크기가 avi파일의 동영상의 크기와 같이 나타나기를 원하시나 본데요....

    Mediaplayer의 'DisplayRect'를 사용하세요.

    //----------------------------------------------------------------------//

    var

    Media_Rect := Trect;

    begin

    Mediaplayer1.open;



    //Mediaplayer1이 불러온 파일의 위치 곧 top, left, right, bottom을 안다

    Media_Rect := Mediaplayer1.DisplayRect;



    //Panel1의 넓이와 높이를 지정한다.

    Panel1.Height := Media_Rect.bottom;

    Panel1.Width := Media_Rect.Right;



    //폼의 화면 중앙에 위치시킨다.

    panel1.left := form1.width - (Media_rect.right div 2);

    panel1.top := form1.height - (Media_rect.bottom div 2);



    Mediaplayer1.Play;

    end;





    2. Mediaplayer가 끝났는지 알려면 저는 Timer를 이용합니다.

    Mediaplayer의 mode를 이용 해서 현재의 상태가 재생중인지 아니면 정지상태 인지를 판단해서 사용하시면 될 것 같습니다.

    //-------------------------------------------------------------------//

    if Mediaplayer1.mode = mpStopped then begin

    // 이때에 panel1.visible := False시키면 되겠죠.

    end;