Q&A

  • 미디어플레이어로 mp3 파일을 재생하기 위해 필요한 조치는?
미디어플레이어를 사용하면 avi파일이나 wav파일을 재생시킬수 있습니다.



그러면 mp3파일도 그냥 사용하면 들을수 있나요? 아님 다른 조치를 취해줘야 하나여?







1  COMMENTS
  • Profile
    Mr.Q 2000.11.18 06:56
    델사랑 wrote:

    > 미디어플레이어를 사용하면 avi파일이나 wav파일을 재생시킬수 있습니다.

    >

    > 그러면 mp3파일도 그냥 사용하면 들을수 있나요? 아님 다른 조치를 취해줘야 하나여?

    >

    >

    >



    * uses 절에 'MMSystem'을 추가 합니다.





    procedure OpenMP3(FileName: String);

    begin

    mciSendString(PChar('open "' + FileName + '" alias mp wait'), nil, 0, 0);

    end;



    procedure PlayMP3;

    begin

    mciSendString(PChar('play mp'), nil, 0, 0);

    end;



    procedure StopMP3;

    begin

    mciSendString(PChar('stop mp'), nil, 0, 0);

    end;



    procedure PauseMP3;

    begin

    mciSendString(PChar('pause mp'), nil, 0, 0);

    end;



    procedure CloseMP3;

    begin

    mciSendString(PChar('close mp'), nil, 0, 0);

    end;



    procedure ForwardMP3(ToPlace: LongInt = 1);

    var

    TmpStr: PChar;

    begin

    GetMem(TmpStr, 128);



    mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0);

    mciSendString(PChar('status mp position wait'), TmpStr, 128, 0);

    mciSendString(PChar('play mp from ' + IntToStr(StrToInt(TmpStr) + ToPlace)),

    nil, 0, 0);

    mciSendString(PChar('set mp time format tmsf'), nil, 0, 0);

    FreeMem(TmpStr);

    end;



    procedure RewindMP3(ToPlace: LongInt = 1);

    var

    TmpStr: PChar;

    begin

    GetMem(TmpStr, 128);



    mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0);

    mciSendString(PChar('status mp position wait'), TmpStr, 128, 0);

    mciSendString(PChar('play mp from ' + IntToStr(StrToInt(TmpStr) - ToPlace)),

    nil, 0, 0);

    mciSendString(PChar('set mp time format tmsf'), nil, 0, 0);



    FreeMem(TmpStr);

    end;



    function GetMP3Len: LongInt;

    var

    TmpStr: PChar;

    begin

    GetMem(TmpStr, 128);



    mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0);

    mciSendString(PChar('status mp length wait'), TmpStr, 128, 0);

    mciSendString(PChar('set mp time format tmsf'), nil, 0, 0);



    Result := StrToInt(TmpStr);

    FreeMem(TmpStr);

    end;



    function GetMP3Pos: LongInt;

    var

    TmpStr: PChar;

    begin

    GetMem(TmpStr, 128);



    mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0);

    mciSendString(PChar('status mp position wait'), TmpStr, 128, 0);

    mciSendString(PChar('set mp time format tmsf'), nil, 0, 0);



    Result := StrToInt(TmpStr);

    FreeMem(TmpStr);

    end;



    procedure SetMP3Pos(ToPlace: LongInt = 1);

    begin

    mciSendString(PChar('set mp time format milliSeconds'), nil, 0, 0);

    mciSendString(PChar('play mp from ' + IntToStr(ToPlace)), nil, 0, 0);

    mciSendString(PChar('set mp time format tmsf'), nil, 0, 0);

    end;







    박테리아(박종민)님의 답변에서 발췌.