Zitat von
Sharky:
Hai Nils_13,
es ist nicht notwendig den ganzen Code des vorherigen Postings zu zitieren um dann nun einen Satz darunter zu schreiben.
Zitat von
Nils_13:
... Danke. Aber wie 'setze' ich die Lautstärke ?
In dem Code von Hador gibt es doch die Funktion SetVolume. Eventuell geht es mit der?
Zitat:
... Und außerdem, wie kann ich den Wert von GetVolume(VolLi, VolRe) in Prozent umwandeln ?
Da musst Du jetzt aber doch nicht an
zwei Stellen fragen.
Zumal Du doch hoffentlich etwas Prozentrechnung kannst.
Ich habs jetzt anders gelöst.
Delphi-Quellcode:
function TForm1.SetWaveVolume(const AVolume: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
begin
Result := False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
Result := WaveOutSetVolume(WAVE_MAPPER, AVolume) = MMSYSERR_NOERROR;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
var
LVol: Word;
RVol: Word;
begin
LVol := voltb.Position; // max. is 65535
RVol := voltb.Position; // max. is 65535
SetWaveVolume(MakeLong(LVol, RVol));
end;
Ich bin auf diesem Gebiet sehr sehr vergesslich
Ich muss den Max.Wert durch 100 teilen. Aber und dann noch mit dem Laustärken-Wert errechnen, aber ich weiß nicht mehr wie das in delphi geht.