![]() |
Erklärung einer Funktion
Hallo,
ich habe eine Funktion aus dem Internet benutzt um die Lautstärke zu verstellen. Doch leider habe ich nur herrausgefunden, wie man die Lautstärke verändert (SetVolumeControl). Die ganze restliche Prozedur verstehe ich nicht. Kann mir vielleicht jemand ein bisschen weiter helfen? :)
Code:
procedure TForm1.ScrollBarVolumeChange(Sender: TObject);
var MyMixerHandle: HMixer; MyVolCtrl: TMixerControl; begin MyMixerHandle := InitMixer; if MyMixerHandle <> 0 then try FillChar(MyVolCtrl, SizeOf(MyVolCtrl), 0); if GetVolumeControl(MyMixerHandle, MIXERLINE_COMPONENTTYPE_DST_SPEAKERS, MIXERCONTROL_CONTROLTYPE_VOLUME, MyVolCtrl) then begin {The last parameter (0) here is the volume level} if SetVolumeControl(MyMixerHandle, MyVolCtrl, Round((100 - ScrollbarVolume.Position) * 65535 /100)) then // ShowMessage('Volume should now be set to zero'); end; finally mixerClose(MyMixerHandle); end; Label2.caption := IntToStr(100 - ScrollbarVolume.position); end;
Code:
Mit freundlichen Grüßen
function SetVolumeControl(aMixer: HMixer; mxc: TMixerControl; volume: Longint): Boolean;
var mxcd: TMixerControlDetails; vol: TMixerControlDetails_Unsigned; rc: MMRESULT; begin FillChar(mxcd, SizeOf(mxcd), 0); with mxcd do begin cbStruct := SizeOf(TMixerControlDetails); dwControlID := mxc.dwControlID; cbDetails := SizeOf(TMixerControlDetails_Unsigned); paDetails := @vol; cMultipleItems := 0; cChannels := 1; end; vol.dwValue := volume; rc := mixerSetControlDetails(aMixer, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE); Result := rc = MMSYSERR_NOERROR; end; function InitMixer: HMixer; var Err: MMRESULT; begin Err := mixerOpen(@Result, 0, 0, 0, 0); if Err <> MMSYSERR_NOERROR then Result := 0; end; |
AW: Erklärung einer Funktion
Vielleicht willst Du Dich hier
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz