Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como controlo el volumen del MediaPlayer?? (https://www.clubdelphi.com/foros/showthread.php?t=9681)

GabiMel 29-04-2004 05:59:07

Como controlo el volumen del MediaPlayer??
 
Hola a todos; les comento mi problema:

necesito reproducir 2 videos a la vez, es decir, uso 2 MediaPlayer y uso como display 2 Panel; pero solo quiero que se escuche el audio de uno de ellos.... puedo controlar el volumen de el MediaPlayer??? como dejo sin sonido a uno de los dos MediaPlayer?? que me sugieren??

muchas gracias

Gabi.

NPIdea 12-02-2007 12:40:43

Como me he encontrado el mismo problema, pues doy la solución que me ha fucnionado, tal como lo he encontrado en una página.

Código Delphi [-]
uses
  MPlayer, 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;

procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);
  { Volume: 0 - 1000 }
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;

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;

// Example, Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
begin
  
   Mediaplayer.Filename:='Loquesea.avi';
  Mediaplayer.Open;
SetMPVolume(MediaPlayer1, 500);  // de 0 a 1000
  MediaPlayer.Play;
end;







La franja horaria es GMT +2. Ahora son las 23:21:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi