Ver Mensaje Individual
  #2  
Antiguo 30-11-2022
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 146
Reputación: 18
aposi Va por buen camino
Prueba esto:

Código Delphi [-]
uses
    MMSystem;
 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;
 
 {Set Volume, range 0 - 1000}
 procedure MPSetVolume(MP: TMediaPlayer; Volume: Integer) ;
 var
    p: MCI_DGV_SETAUDIO_PARMS;
 begin
    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;
 
 {Get Volume, range 0 - 1000}
 function MPGetVolume(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;
 end; 

//Usage: drop a TMediaPlayer ("MediaPlayer1") along with a TScrollBar ("ScrollBar1") on Delphi form.

//In the OnCreate event for the form, setup the scroll bar and load a media file into MediaPlayer:

 procedure TMediaPlayerForm.FormCreate(Sender: TObject) ;
 begin
   ScrollBar1.Min := 0;
   ScrollBar1.Max := 1000;
 
   ScrollBar1.Position := MPGetVolume(MediaPlayer1);
 
   MediaPlayer1.Close;
   MediaPlayer1.FileName:='c:\favorite.mp3';
   MediaPlayer1.Open;
 end; 

//Handle the OnChange event of the scroll bar (to set the Media player volume):

 procedure TMediaPlayerForm.ScrollBar1Change(Sender: TObject) ;
 begin
   MPSetVolume(MediaPlayer1, ScrollBar1.Position) ;
 end; 
Responder Con Cita