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
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 14:21
Ich mach das mit der Bass-DLL, dort gibt es die Funktion BASS_SetVolume. Die Bass-DLL bringst du auch mit älteren Delphi-Versionen zum Laufen.
  Mit Zitat antworten Zitat
hbriele

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

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 14:50
Hallo
Ich mach das mit der Bass-DLL, dort gibt es die Funktion BASS_SetVolume. Die Bass-DLL bringst du auch mit älteren Delphi-Versionen zum Laufen.
Die bass DLL benutze ich auch, doch damit kann man nicht den Hauptregler zustand abfragen.
Die steuert auch nur das was die Anwendung heraus geben soll.
Der Gesamtregler bleibt hier unberührt.
Ich benötige das, um herauszufinden wie hoch der Lautstärkegesamtpegel ist, weil die Anwendung mittels einer Fernbedienung in der Endlautstärke geregelt wird.

Gruß
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 16:58
Neue Package für D7 erstellen geht nicht?
Möchte ich bezweifeln.

erstelle eine neue Package

und addiere alle Dateien wie im Bild zu sehen.
Nenne die Package TAudioVolume.
Bitte nicht die Copyright Infos entfernen. Danke..

Zitat:
Es fehlt halt die *.dpk Datei.
Die ist vorhanden.
Nicht die DPK starten die ist für Delphi 2010.

Kompilieren, Installieren..
Nicht vergessen die addierten Dateien zum Suchpfad hinzufügen (also den Folder in dem diese sich befinden.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:43 Uhr)
  Mit Zitat antworten Zitat
hbriele

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

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 17:59
Danke,
Neue Package für D7 erstellen geht nicht?
Möchte ich bezweifeln.

erstelle eine neue Package

und addiere alle Dateien wie im Bild zu sehen.
Nenne die Package TAudioVolume.
Bitte nicht die Copyright Infos entfernen. Danke..

Zitat:
Es fehlt halt die *.dpk Datei.
Die ist vorhanden.
Nicht die DPK starten die ist für Delphi 2010.

Kompilieren, Installieren..
Nicht vergessen die addierten Dateien zum Suchpfad hinzufügen (also den Folder in dem diese sich befinden.

gruss
aber ich brauche Hilfe!
Wie muss ich vorgehen?
Wo wird das Packet erstellt?
Unter Komponente > Neue Komponente > Komponente installieren > Packages installieren ?
Habe unter allen Optionen versucht zu installieren (viele viele Stunden ohne Erfolg).
Welche Dateien werden den überhaupt benötigt, die fünf aus dem Hauptverzeichnis, oder die aus dem Demo_Eng Ordner.
Bitte um Hilfe, weiß nicht mehr weiter.

Gruß

Ps.Leider können nur *.bpl und *.dpc Packete hinzugefügt werden
und solche gibt es in dem Installationsfile nicht.

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

n/a Beiträge
 
#5

AW: Lausprechersteuerung

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

n/a Beiträge
 
#6

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 18:21
Man kann auch die windowseigene SPEAKERS-Anzeige aufrufen:

ShellExecute(0,nil,PChar('sndvol.exe'),'-f','',SW_SHOWNORMAL); Wenn man auf den Slider klickt, wird der Prozentwert angezeigt.
Angehängte Grafiken
Dateityp: jpg SNDVOL-f.jpg (7,8 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Lausprechersteuerung

  Alt 22. Sep 2015, 18:24
Zitat:
Ps.Leider können nur *.bpl und *.dpc Packete hinzugefügt werden
und solche gibt es in dem Installationsfile nicht.
Nö du kannst auch einzelne Dateien hinzufügen.

Hier eine Step by Step Anleitung

Oder hier

gruss

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

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

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
 
#9

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
FarAndBeyond
(Gast)

n/a Beiträge
 
#10

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
Antwort Antwort


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 22:33 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