Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Laustärke Visual equalizer

  Alt 6. Mai 2007, 13:57
Bei mir funktioniert weder
SetMPVolume(MediaPlayer1, 800); noch
SetMPVolume(MediaPlayer1, TrackBar1.Position * 100); oder
SetMPVolume(MediaPlayer1, TrackBar1.Position); obwohl ich das letzte mal in einem Projekt verwendet hatte. Da hatte ich allerdings kein WinXP SP2 sondern Win98SE.

Das Setzen der Wave-Lautstärke funktioniert allerdings.

Gefunden auf http://forum.vingrad.ru/index.php?showtopic=34596

Delphi-Quellcode:
procedure SetWaveVolume(const AVolume: DWord);
var Woc : TWAVEOUTCAPS;
begin
if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) = MMSYSERR_NOERROR then
  if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
    WaveOutSetVolume(WAVE_MAPPER, AVolume);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 SetWaveVolume (MakeLong(TrackBar1.Position, TrackBar1.Position));
end;


function GetWaveVolume: DWord;
var
  Woc : TWAVEOUTCAPS;
  Volume : DWord;
begin
  result:=0;
  if WaveOutGetDevCaps(WAVE_MAPPER, @Woc, sizeof(Woc)) = MMSYSERR_NOERROR then
  if Woc.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
  begin
    WaveOutGetVolume(WAVE_MAPPER, @Volume);
    Result := Volume;
  end;
end;
Es wird jeweils ein DWord übergeben, wobei das HiWord und das LoWord je einen Stereokanal darstellen.
Angehängte Dateien
Dateityp: rar beispiel_321.rar (2,0 KB, 15x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat