Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#52

AW: TAudioVolume Komponente incl. System Mixer

  Alt 9. Mai 2018, 19:01
Vom Smartphone schreiben ist schwierig, aber du kannst das machen:

TAudioVolume = class(TWinControl, IAudioSessionEvents, IMMNotificationClient, IAudioSessionNotification, IAudioEndpointVolumeCallback) Dann halt wie gehabt die notwendigen Methoden hinzufügen.
OK werde mal versuchen es umzusetzen.
Danke.

EDIT:
Schwierig.
Habe ja schon 2 x TAudioVolume

Delphi-Quellcode:
  TAudioVolume = class; // <<<<<
  TSplitStrArray = array of string;

  // ByMyAction is used to check if this event is triggered by self action, i.e., my application's
  // execution of SetMasterMute, SetMasterVolume, SetSysSoundMute or SetSysSoundVolume.
  TOnMasterVolumeEvent = procedure(ByMyAction: boolean; Volume: single; Mute: boolean) of object;
  TOnSessionVolumeEvent = procedure(ByMyAction: boolean; Volume: single; Mute: boolean) of object;
  TOnSessionStateEvent = procedure(Sender: TAudioVolume; NewState: integer) of object;
  TOnSessionDisconnected = procedure(Sender: TAudioVolume; DisconnectReason: uint) of object;
  TOnDeviceStateChange = procedure(DeviceId: string; NewDeviceState: DWORD) of object;
  TOnDefaultDeviceChange = procedure(NewDefaultDevice: TDeviceInfo) of object;
  TOnSessionCreated = procedure(NewSession: IAudioSessionControl) of object;

  TAudioVolume = class(TWinControl)// <<<<<<
Das
TAudioVolume = class(TWinControl)
zu ändern nach
TAudioVolume = class(TWinControl, IAudioSessionEvents, IMMNotificationClient, IAudioSessionNotification, IAudioEndpointVolumeCallback)
verträgt sich gar nicht.

Ich muss das MasterVolume von TAudioVolume trennen weil beim erstellen einer neuen Instanz von TAudioVolume alle Eigenschaften von MasterVolume nil sind.
Deshalb kann ich auch die Icons nicht freigeben.
Oder aber eine andere Lösung muss her Hmmm...

Glaube das Konzept ist zur zeit noch sehr verworren.

gruss

Geändert von EWeiss ( 9. Mai 2018 um 19:50 Uhr)
  Mit Zitat antworten Zitat