![]() |
AW: TAudioVolume Komponente incl. System Mixer
Schon ohne
Delphi-Quellcode:
probiert?
const
|
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
HRESULT STDMETHODCALLTYPE OnPropertyValueChanged(LPCWSTR pwstrDeviceId, const PROPERTYKEY key) gruss |
AW: TAudioVolume Komponente incl. System Mixer
Ich habe mir
![]() Nach "TPROPERTYKEY" auf der Seite suchen. |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
Aber es geht nicht um TPROPERTYKEY sondern darum warum Key nicht verfügbar ist. Nochmal das Problem. Wenn ich im Windows Dialog unter Eigenschaften das Icon des MasterDevice ändere dann wird das Event OnPropertyValueChanged aufgerufen. Nur wenn ich über den Key nichts vergleichen kann welchen sinn hat dieses Event. Darum geht es mir. Ich möchte dann mein Icon ändern. Warum wird mir die VALUE die geändert wurde nicht weitergereicht? :stupid: gruss |
AW: TAudioVolume Komponente incl. System Mixer
Sorry da kann ich nicht helfen, ich finde nur Beispiele wo es als var/out definiert wird was nichts mit Deinem Problem zu tun hat. :cry:
|
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
Ok werde mal was anderes versuchen. Es scheint so das ich den Key auf diese weise nicht erreichen kann. Mal sehn ob ich ihn über IPropertyStore und GetAt in Erfahrung bringe. Edit: Nope.. Key ist leer. gruss |
AW: TAudioVolume Komponente incl. System Mixer
Zitat:
Wäre schön wenn mir jemand sagen könnte warum das so ist. Danke.. gruss |
AW: TAudioVolume Komponente incl. System Mixer
LOL Na dann hat es sich ja gelohnt diese Seite zu füllen :lol:
|
AW: TAudioVolume Komponente incl. System Mixer
Für die Technik versierten..
Hier der Trick wie es mit den Icons Funktioniert. Ich habe beim debuggen herausgefunden das es einen nicht dokumentierten PropertyKey dafür gibt. Und andere.. PKEY_DEVICE_DESCRIPTION, PKEY_DEVICE_INTERFACE_FRIENDLY_NAME... Hier mal der für die Icons.. In der Funktion
Delphi-Quellcode:
function TAudioVolume.OnPropertyValueChanged(DeviceId: PWideChar; Key: PROPERTYKEY): HResult;
Diesen Key habe ich mir jetzt angelegt.
Delphi-Quellcode:
Und hier hole ich mir dann den IconPfad..
PKEY_DEVICE_ICON: TPropertyKey = (
fmtid: (D1:$259ABFFC; D2:$50A7; D3:$47CE; D4:($AF, $08, $68, $C9, $A7, $D7, $33, $66)); pid: 12);
Delphi-Quellcode:
Vielleicht kann es ja mal jemand gebrauchen.
function GetDeviceInfo(Device: IMMDevice): TDeviceInfo;
var pvIconPath: PROPVARIANT; IconBuf: array [0 .. 127] of WideChar; IconPath: PWideChar; begin //.... // IconPath PropVariantInit(pvIconPath); HR := propertyStore.GetValue(PKEY_DEVICE_ICON, pvIconPath); if HR <> S_OK then raise Exception.Create('Unable to retrieve IconPath for a device !'); if pvIconPath.vt = VT_LPWSTR then begin IconPath := @IconBuf[0]; StrCopy(IconPath, pvIconPath.pwszVal); Result.IconPath := IconPath; end; end; gruss |
AW: TAudioVolume Komponente incl. System Mixer
Mixer Source addiert..
Erster Beitrag.. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 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 by Thomas Breitkreuz