Изменение громкости в TMediaPlayer

Previous  Top  Next

    
 

 

Code:

unit MpVolume;

 

interface

 

uses Windows, MPlayer;

 

const

MCI_SETAUDIO = $0873;

MCI_DGV_SETAUDIO_VOLUME = $4002;

MCI_DGV_SETAUDIO_ITEM = $00800000;

MCI_DGV_SETAUDIO_VALUE = $01000000;

MCI_DGV_STATUS_VOLUME = $4019;

 

type

MCI_DGV_SETAUDIO_PARMS = record

   dwCallback: DWORD;

   dwItem: DWORd;

   dwValue: DWORD;

   dwOver: DWORD;

   lpstrAlgorithm: PChar;

   lpstrQuality: PChar;

end;

 

 

type

MCI_STATUS_PARMS = record

   dwCallback: DWORD;

   dwReturn: DWORD;

   dwItem: DWORD;

   dwTrack: DWORD;

end;

 

//Remember to add the name of your form to the procedures

 

function GetMPVolume(MP: TMediaPlayer): Integer;

procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);

 

implementation

 

uses mmsystem;

 

function GetMPVolume(MP: TMediaPlayer): Integer;

var

p: MCI_STATUS_PARMS;

begin

p.dwCallback := 0;

p.dwItem := MCI_DGV_STATUS_VOLUME;

mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p));

Result := p.dwReturn;

{ Volume: 0 - 1000 }

end;

 

procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);

var

p: MCI_DGV_SETAUDIO_PARMS;

begin

{ Volume: 0 - 1000 }

p.dwCallback := 0;

p.dwItem := MCI_DGV_SETAUDIO_VOLUME;

p.dwValue := Volume;

p.dwOver := 0;

p.lpstrAlgorithm := nil;

p.lpstrQuality := nil;

mciSendCommand(MP.DeviceID, MCI_SETAUDIO,

   MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p));

end;

 

end.

 

Автор: Smike

Взято из http://forum.sources.ru

©Drkb::03621