![]() |
AW: Lausprechersteuerung
Zitat:
die hatten aber alle eine *.bpl oder *.dpc Paketdatei. Schade nur dass es an so etwas dann scheitert. Vieleicht ist das Installationsfile ja nicht komplett? Ich komme so auf jeden Fall nicht weiter. Aber vieleicht kennt ja jemand eine Komponente die sich auch in D7 installieren lässt. |
AW: Lausprechersteuerung
Zitat:
Sorry! Also einfacher geht es doch wirklich nimmer. ![]() gruss |
AW: Lausprechersteuerung
Zitat:
hat funktioniert. Die TKomponente ist nun vorhanden. Leider hängt sich Delphi nach wie vor gnadenlos auf wenn ich die Demo aufrufe. Wenn ich die Komponente auf eine Form ziehe stehen mir alle TAudioVolume zur Verfügung. Nun weiß ich aber erst einmal nicht, was ich alles Initialisieren muss damit mir AudioVolume1.GetMasterVolume einen Wert zurück gibt. Gruß |
AW: Lausprechersteuerung
Zitat:
Verwende die AudioVolumeAdj_Eng.dpr Wenn es dann immer noch nicht geht musst du es halt von Hand für D7 ändern. Wie gesagt ich habe kein D7. Hier wird das Volumen gesetzt
Delphi-Quellcode:
und so bekommst du aktuelle Position.
procedure TForm1.tbMasterVolumeChange(Sender: TObject);
begin AudioVolume1.SetMasterVolume((tbAppVolume.Max - tbMasterVolume.Position) / tbMasterVolume.Max); end;
Delphi-Quellcode:
tbMasterVolume.Position := round((1.0 - AudioVolume1.GetMasterVolume) * tbMasterVolume.Max);
Wenn niemand hilft der D7 hat kann ich leider auch nichts mehr tun. Sorry gruss |
AW: Lausprechersteuerung
Hallo, Danke noch einmal,
ich habe natürlich die richtige Datei aufgerufen. Habe jetzt aus der Demo versucht einiges nachzuvollziehen, bin jetzt so weit, dass ich Integerwerte habe die bei Reglerstellung 100% auf 0 und beim Regler zu 0% einen Wert von 100 hat. Bin soweit Glücklich, Danke |
AW: Lausprechersteuerung
Zitat:
Zitat:
Zuletzt! Nie zu schnell Aufgeben.. Wird schon. gruss |
AW: Lausprechersteuerung
Das hier läuft unter D7 sehr gut...
Delphi-Quellcode:
EDIT: Uses ActiveX, ComOBJ;
Type
IAudioEndpointVolumeCallback = Interface(IUnknown) ['{657804FA-D6AD-4496-8A60-352752AF4F89}'] End; IAudioEndpointVolume = Interface(IUnknown) ['{5CDF2C82-841E-4546-9722-0CF74078229A}'] Function RegisterControlChangeNotify(AudioEndPtVol: IAudioEndpointVolumeCallback): HRESULT; Stdcall; Function UnregisterControlChangeNotify(AudioEndPtVol: IAudioEndpointVolumeCallback): HRESULT; Stdcall; Function GetChannelCount(Out PInteger): HRESULT; Stdcall; Function SetMasterVolumeLevel(fLevelDB: Single; pguidEventContext: PGUID): HRESULT; Stdcall; Function SetMasterVolumeLevelScalar(fLevelDB: Single; pguidEventContext: PGUID): HRESULT; Stdcall; Function GetMasterVolumeLevel(Out fLevelDB: Single): HRESULT; Stdcall; Function GetMasterVolumeLevelScalar(Out fLevelDB: Single): HRESULT; Stdcall; Function SetChannelVolumeLevel(nChannel: Integer; fLevelDB: Double; pguidEventContext: PGUID): HRESULT; Stdcall; Function SetChannelVolumeLevelScalar(nChannel: Integer; fLevelDB: Double; pguidEventContext: PGUID): HRESULT; Stdcall; Function GetChannelVolumeLevel(nChannel: Integer; Out fLevelDB: Double): HRESULT; Stdcall; Function GetChannelVolumeLevelScalar(nChannel: Integer; Out fLevelDB: Double): HRESULT; Stdcall; Function SetMute(bMute: Bool; pguidEventContext: PGUID): HRESULT; Stdcall; Function GetMute(Out bMute: Bool): HRESULT; Stdcall; Function GetVolumeStepInfo(pnStep: Integer; Out pnStepCount: Integer): HRESULT; Stdcall; Function VolumeStepUp(pguidEventContext: PGUID): HRESULT; Stdcall; Function VolumeStepDown(pguidEventContext: PGUID): HRESULT; Stdcall; Function GetVolumeRange(Out pflVolumeMindB: Double; Out pflVolumeMaxdB: Double; Out pflVolumeIncrementdB: Double): HRESULT; Stdcall; Function QueryHardwareSupport(Out pdwHardwareSupportMask): HRESULT; Stdcall; End; IAudioMeterInformation = Interface(IUnknown) ['{C02216F6-8C67-4B5B-9D00-D008E73E0064}'] End; IPropertyStore = Interface(IUnknown) End; IMMDevice = Interface(IUnknown) ['{D666063F-1587-4E43-81F1-B948E807363F}'] Function Activate(Const refId: TGUID; dwClsCtx: DWORD; pActivationParams: PInteger; Out pEndpointVolume: IAudioEndpointVolume): HRESULT; StdCall; Function OpenPropertyStore(stgmAccess: DWORD; Out ppProperties: IPropertyStore): HRESULT; Stdcall; Function GetId(Out ppstrId: PLPWSTR): HRESULT; Stdcall; Function GetState(Out State: Integer): HRESULT; Stdcall; End; IMMDeviceCollection = interface(IUnknown) ['{0BD7A1BE-7A1A-44DB-8397-CC5392387B5E}'] End; IMMNotificationClient = interface(IUnknown) ['{7991EEC9-7E89-4D85-8390-6C703CEC60C0}'] End; IMMDeviceEnumerator = interface(IUnknown) ['{A95664D2-9614-4F35-A746-DE8DB63617E6}'] Function EnumAudioEndpoints(dataFlow: TOleEnum; deviceState: SYSUINT; DevCollection: IMMDeviceCollection): HRESULT; Stdcall; Function GetDefaultAudioEndpoint(EDF: SYSUINT; ER: SYSUINT; Out Dev: IMMDevice): HRESULT; Stdcall; Function GetDevice(pwstrId: pointer; Out Dev: IMMDevice): HRESULT; Stdcall; Function RegisterEndpointNotificationCallback(pClient: IMMNotificationClient): HRESULT; Stdcall; End; Const CLASS_IMMDeviceEnumerator : TGUID = '{BCDE0395-E52F-467C-8E3D-C4579291692E}'; IID_IMMDeviceEnumerator : TGUID = '{A95664D2-9614-4F35-A746-DE8DB63617E6}'; IID_IAudioEndpointVolume : TGUID = '{5CDF2C82-841E-4546-9722-0CF74078229A}'; ..... Var single_VolumeLevel : Single = 1.0; bool_GetMute : Bool = False; Procedure SetMasterVolume(single_VolumeLevel : Single); Var EndpointVolume : IAudioEndpointVolume; DeviceEnumerator : IMMDeviceEnumerator; Device : IMMDevice; Begin Try CoCreateInstance(CLASS_IMMDeviceEnumerator, Nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, DeviceEnumerator); DeviceEnumerator.GetDefaultAudioEndpoint($00000000, $00000000, Device); Device.Activate(IID_IAudioEndpointVolume, CLSCTX_INPROC_SERVER, Nil, EndpointVolume); EndpointVolume.SetMasterVolumeLevelScalar(single_VolumeLevel, Nil); Except Exit; End; End; Procedure GetMasterVolume(out single_VolumeLevel : Single); Var EndpointVolume : IAudioEndpointVolume; DeviceEnumerator : IMMDeviceEnumerator; Device : IMMDevice; Begin Try CoCreateInstance(CLASS_IMMDeviceEnumerator, Nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, DeviceEnumerator); DeviceEnumerator.GetDefaultAudioEndpoint($00000000, $00000000, Device); Device.Activate(IID_IAudioEndpointVolume, CLSCTX_INPROC_SERVER, Nil, EndpointVolume); EndpointVolume.GetMasterVolumeLevelScalar(single_VolumeLevel); Except Exit; End; End; Procedure GetMute(Out bool_GetMute: Bool); Var EndpointVolume : IAudioEndpointVolume; DeviceEnumerator : IMMDeviceEnumerator; Device : IMMDevice; Begin Try CoCreateInstance(CLASS_IMMDeviceEnumerator, Nil, CLSCTX_INPROC_SERVER, IID_IMMDeviceEnumerator, DeviceEnumerator); DeviceEnumerator.GetDefaultAudioEndpoint($00000000, $00000000, Device); Device.Activate(IID_IAudioEndpointVolume, CLSCTX_INPROC_SERVER, Nil, EndpointVolume); EndpointVolume.GetMute(bool_GetMute); Except Exit; End; End; |
AW: Lausprechersteuerung
Danke,
das AudioVolume gefällt mir sehr gut. Da ich es jetzt geschafft habe es einzubinden, werde ich es auch benutzen. Vielen Dank an alle! Gruß |
AW: Lautsprechersteuerung
Nur zur allgemeine Info: Von XP zu Vista hat MS das Audio-Subsystem komplett umgekrempelt. Viele Komponenten sind wohl noch auf dem Stand von XP. Und leider sieht es so aus, als wenn sie nicht angepasst wurden, weil der Entwickler das Interesse verloren hat oder nicht mehr aktiv ist. Eventuell gibt es jemanden, der sich dessen im Sinne der Delphi Gemeinschaft mal annimmt und eine aktuelle Komponente entwickelt, damit das Problem endlich mal gelöst wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 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