AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lautsprechersteuerung

Ein Thema von hbriele · begonnen am 22. Sep 2015 · letzter Beitrag vom 23. Sep 2015
Antwort Antwort
Seite 2 von 2     12   
hbriele

Registriert seit: 1. Apr 2009
8 Beiträge
 
#11

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 18:35
Zitat:
Unter Komponente > Neue Komponente > Komponente installieren > Packages installieren ?
Ja..

Dann die Dateien addieren wie im Bild zu sehen.
Vielleicht kann es dir ja jemand machen der D7 Installiert hat.

gruss
Das habe ich vor 15 Jahren selbst gemacht und bisher habe ich auch mindestens über 10 Pakete mit Erfolg installiert ,
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.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 18:44
Zitat:
Ich komme so auf jeden Fall nicht weiter.
Anleitung gelesen ? Im vorherigen Post? (Oder hier nochmal)
Sorry! Also einfacher geht es doch wirklich nimmer.

how-to-install-a-component-from-pas-file-in-delphi

gruss

Geändert von EWeiss (22. Sep 2015 um 19:04 Uhr)
  Mit Zitat antworten Zitat
hbriele

Registriert seit: 1. Apr 2009
8 Beiträge
 
#13

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 19:48
Zitat:
Ich komme so auf jeden Fall nicht weiter.
Anleitung gelesen ? Im vorherigen Post? (Oder hier nochmal)
Sorry! Also einfacher geht es doch wirklich nimmer.

how-to-install-a-component-from-pas-file-in-delphi

gruss
Ja Danke,
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ß
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 20:03
Zitat:
Leider hängt sich Delphi nach wie vor gnadenlos auf wenn ich die Demo aufrufe.
Rufe nicht die Projekt Datei auf die ist für D2010.
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:
procedure TForm1.tbMasterVolumeChange(Sender: TObject);
begin
  AudioVolume1.SetMasterVolume((tbAppVolume.Max - tbMasterVolume.Position) / tbMasterVolume.Max);
end;
und so bekommst du aktuelle Position.
tbMasterVolume.Position := round((1.0 - AudioVolume1.GetMasterVolume) * tbMasterVolume.Max);

Wenn niemand hilft der D7 hat kann ich leider auch nichts mehr tun. Sorry

gruss

Geändert von EWeiss (22. Sep 2015 um 20:10 Uhr)
  Mit Zitat antworten Zitat
hbriele

Registriert seit: 1. Apr 2009
8 Beiträge
 
#15

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 20:20
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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 20:21
Zitat:
ich habe natürlich die richtige Datei aufgerufen.
OK! Wollte das nur noch anmerken.

Zitat:
Bin soweit Glücklich,
Das freut mich dann hat es ja doch etwas gebracht.
Zuletzt! Nie zu schnell Aufgeben.. Wird schon.

gruss

Geändert von EWeiss (22. Sep 2015 um 20:32 Uhr)
  Mit Zitat antworten Zitat
FarAndBeyond
(Gast)

n/a Beiträge
 
#17

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 21:06
Das hier läuft unter D7 sehr gut...

Delphi-Quellcode:
 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;
EDIT: Uses ActiveX, ComOBJ;

Geändert von FarAndBeyond (22. Sep 2015 um 21:16 Uhr)
  Mit Zitat antworten Zitat
hbriele

Registriert seit: 1. Apr 2009
8 Beiträge
 
#18

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 21:15
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ß
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

AW: Lautsprechersteuerung

  Alt 23. Sep 2015, 01:58
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz