Нацарапал:
Код | uses MMSystem;
var FDeviceID : Word; FFlags : Longint;
function MediaOpen(const FileName: string; Handle: hWnd): Boolean; var OpenParm : TMCI_Open_Parms; begin Result := False; FillChar(OpenParm, SizeOf(TMCI_Open_Parms), 0); OpenParm.dwCallback := 0; OpenParm.lpstrDeviceType := ''; OpenParm.lpstrElementName := PChar(FileName); FFlags := mci_Wait; FFlags := FFlags or MCI_OPEN_ELEMENT; OpenParm.dwCallback := Handle; if mciSendCommand(0, mci_Open, FFlags, Longint(@OpenParm)) = 0 then begin Result := True; FDeviceID := OpenParm.wDeviceID; end; end;
function MediaGetLength: Longint; var StatusParm : TMCI_Status_Parms; begin FFlags := mci_Wait or mci_Status_Item; StatusParm.dwItem := mci_Status_Length; mciSendCommand(FDeviceID, mci_Status, FFlags, Longint(@StatusParm)); Result := StatusParm.dwReturn; end;
procedure MediaClose; var GenParm : TMCI_Generic_Parms; begin mciSendCommand(FDeviceID, mci_Close, mci_Wait, Longint(@GenParm)); end;
procedure TForm1.Button1Click(Sender: TObject); begin if MediaOpen('c:\test.mp3', Self.Handle) then begin Self.Caption := IntToStr(MediaGetLength) + ' ms'; MediaClose; end; end;
|
|