![]() |
Haupt Lautstärke Regeln
Hallo
Die einen denken sicher.. ach mann wieder mal jemand der die suche nicht benutzt... doch ich habe sie benutzt Wie ich die Wave Lautstärke regeln kann weiss ich, aber ich möchte die HauptLautstärke regeln Hoffe ihr habt ne idee Danke grüsschen |
Re: Haupt Lautstärke Regeln
für wave benutze ich diesen code
Delphi-Quellcode:
kann man den irgendwie für die "Hauptlautstärke" umwandeln?
procedure SetVolume(const volL, volR: Word);
var hWO: HWAVEOUT; waveF: TWAVEFORMATEX; vol: DWORD; begin // init TWAVEFORMATEX FillChar(waveF, SizeOf(waveF), 0); // open WaveMapper = std output of playsound waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0); vol:= volL + volR shl 16; // set volume waveOutSetVolume(hWO, vol); waveOutClose(hWO); end; |
Re: Haupt Lautstärke Regeln
Hallo Claudio,
mit waveOutSetVolume() kontrollierst du nur die Lautstärke eines speziellen Audio Device. Vielleicht hilft dir ein Blick auf diesen ![]() Grüße vom marabu |
Re: Haupt Lautstärke Regeln
Danke
Das problem
Delphi-Quellcode:
er kennt aVolume nicht
procedure SetVolume(aVolume:Byte);
var Volu: TVolumeRec; begin Volu.LeftVolume := aVolume shl 8; Volu.RightVolume:= Volu.LeftVolume; auxSetVolume(UINT(DeviceIndex), Volu.LongVolume) ; end; |
Re: Haupt Lautstärke Regeln
:wall: Ok habs herausgefunden
hatte ne zweite Prozedure mit gleichem namen |
Re: Haupt Lautstärke Regeln
Irgendwie funktioniert das nicht....
Kann es daran liegen, das ich SoundMax für die Steuerung benutze und nicht den Windows Regler? |
Re: Haupt Lautstärke Regeln
[code=delphi]uses MMSystem;
const MasterVolumeControl = 0; MaxVolume = 65535; MinVolume = 0; // ;-) function _VolumeControl(Mixer: hMixerObj; var Control: TMixerControl): MMResult; var Line : TMixerLine; Controls : TMixerLineControls; begin ZeroMemory(@Line, SizeOf(Line)); Line.cbStruct := SizeOf(Line); Line.dwComponentType := MIXERLINE_COMPONENTTYPE_DST_SPEAKERS; Result := mixerGetLineInfo(Mixer, @Line, MIXER_GETLINEINFOF_COMPONENTTYPE); if Result = MMSYSERR_NOERROR then begin ZeroMemory(@Controls, SizeOf(Controls)); Controls.cbStruct := SizeOf(Controls); Controls.dwLineID := Line.dwLineID; Controls.cControls := 1; Controls.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME; Controls.cbmxctrl := SizeOf(Control); Controls.pamxctrl := @Control; Result := mixerGetLineControls(Mixer, @Controls, MIXER_GETLINECONTROLSF_ONEBYTYPE); end; end; procedure SetMasterVolume(Mixer: hMixerObj; Value: Word); var MasterVolume : TMixerControl; Details : TMixerControlDetails; UnsignedDetails : TMixerControlDetailsUnsigned; Code : MMResult; begin Code := _VolumeControl(Mixer, MasterVolume); if Code = MMSYSERR_NOERROR then begin with Details do begin cbStruct := SizeOf(Details); dwControlID := MasterVolume.dwControlID; cChannels := 1; // set all channels cMultipleItems := 0; cbDetails := SizeOf(UnsignedDetails); paDetails := @UnsignedDetails; end; UnsignedDetails.dwValue := Value; Code := mixerSetControlDetails(Mixer, @Details, MIXER_SETCONTROLDETAILSF_VALUE); end; if Code <> MMSYSERR_NOERROR then raise Exception.CreateFmt('SetMasterVolume failure, '+ 'multimedia system error #%d', [Code]); end; function GetMasterVolume(Mixer: hMixerObj): Word; var MasterVolume : TMixerControl; Details : TMixerControlDetails; UnsignedDetails : TMixerControlDetailsUnsigned; Code : MMResult; begin Result := 0; Code := _VolumeControl(Mixer, MasterVolume); if Code = MMSYSERR_NOERROR then begin with Details do begin cbStruct := SizeOf(Details); dwControlID := MasterVolume.dwControlID; cChannels := 1; // set all channels cMultipleItems := 0; cbDetails := SizeOf(UnsignedDetails); paDetails := @UnsignedDetails; end; Code := mixerGetControlDetails(Mixer, @Details, MIXER_GETCONTROLDETAILSF_VALUE); Result := UnsignedDetails.dwValue; end; if Code <> MMSYSERR_NOERROR then raise Exception.CreateFmt('GetMasterVolume failure, '+ 'multimedia system error #%d',
Code:
:mrgreen:
);
end; procedure TFormX.Foo... begin // Set SetMasterVolume(MasterVolumeControl, 0815); // MaxVolume => 65535 // Get Caption := IntToStr( GetMasterVolume(MasterVolumeControl) ); end; |
Re: Haupt Lautstärke Regeln
Danke :D
|
Re: Haupt Lautstärke Regeln
Bitte. :stupid:
|
Re: Haupt Lautstärke Regeln
Hm, man sagte mir, damit könne man auch die anderen Lautstärken auslesen, aber ich hab keine Ahnung, wo ich den Code da verändern muss. Ich hab einiges ausprobiert, aber ich kenne mich mit der Mixer-Materie kaum aus :-/
Ich würde gerne die Lautstärken von LineIn, Wave, CD-Player und Mikrophon auslesen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 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