![]() |
Audiomixer Monitoring EIN/AUS schalten
Hallo DP'ler,
habe folgendes Problem: im Audiomixer (XP) besteht fuer einige Eingaenge(Line-IN/Micro) die Moeglichkeit, Monitoring zuzuschalten. Habe mir ueber das Example " TAudioMixer v1.70" eine Liste erstellt.
aktivieren...deaktivieren des Einganges bzw. Lautstaerke aendern..geht. Wie kann ich aber Monitoring zuschalten (im Mixer geht es ja auch)? Hab nichts gefunden. Danke im voraus. P.S. nich so einfach..ich weiss *g* |
Re: Audiomixer Monitoring EIN/AUS schalten
Wo bleiben die API Spezies? :(
Frohe Ostern! |
Re: Audiomixer Monitoring EIN/AUS schalten
Moin Kaki, wo hast Du die Kompo denn her? Über Google finde ich nur unleserliche (chinesische?) Seiten.
[edit] Alles klar, hab sie bei Torry gefunden. [/edit] |
Re: Audiomixer Monitoring EIN/AUS schalten
DeddyH? Du willst eh nur :cheers: *kreisch*..abba danke Dir ;-)
|
Re: Audiomixer Monitoring EIN/AUS schalten
Dank mir nicht zu früh, ich finde gar nix über Monitoring.
[edit] Auch das Beispielprogramm gibt mir nichts über Monitoring aus, anscheinend ist meine Soundkarte zu "billig" :? [/edit] |
Re: Audiomixer Monitoring EIN/AUS schalten
meinst, ich wuerde ne Frage stellen die "einfach" iss? ;-)..kaempfe da seit Wochen mit
|
Re: Audiomixer Monitoring EIN/AUS schalten
...iss ja net dienstlich, aber mich interessierts;-)
|
Re: Audiomixer Monitoring EIN/AUS schalten
Hallo DP'ler,
habe, Dank ![]() [code=delphi] uses MMSystem; function GetMonitoring( Mixer: hMixerObj; var Control: TMixerControl): MMResult; // Returns True on success var Line: TMixerLine; Controls: TMixerLineControls; begin ZeroMemory(@Line, SizeOf(Line)); Line.cbStruct := SizeOf(Line); Line.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_LINE; //LineIN 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_ONOFF; //checkbox 1 Monitoring unter Erw. Controls.cbmxctrl := SizeOf(Control); Controls.pamxctrl := @Control; Result := mixerGetLineControls(Mixer, @Controls, MIXER_GETLINECONTROLSF_ONEBYTYPE); end; end; procedure SetMonitoringValue( Mixer: hMixerObj; Value: Boolean); var Monitoring: TMixerControl; Details: TMixerControlDetails; BoolDetails: TMixerControlDetailsBoolean; Code: MMResult; begin Code := GetMonitoring(0, Monitoring); if Code = MMSYSERR_NOERROR then begin with Details do begin cbStruct := SizeOf(Details); dwControlID := Monitoring.dwControlID; cChannels := 1; cMultipleItems := 0; cbDetails := SizeOf(BoolDetails); paDetails := @BoolDetails; end; LongBool(BoolDetails.fValue) := Value; Code := mixerSetControlDetails(0, @Details,MIXER_SETCONTROLDETAILSF_VALUE); end; if Code <> MMSYSERR_NOERROR then raise Exception.CreateFmt('SetMonitoringValue failure, '+ 'multimedia system error #%d',
Code:
);
end; procedure TForm1.Button1Click(Sender: TObject); var Monitoring: TMixerControl; Code: MMResult; begin SetMonitoringValue(0,True);//TRUE=ON FALSE=OFF end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 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