Hey Ho,
nach langer Zeit gibt es von mir auch mal wieder was neues.
Ich hoffe, der ein oder andere kann damit was anfangen
Nachdem ja vor kurzem
dieser Thread hier zu finden war,
ich ein wenig Langeweile und Lust gehabt hab mich dort weiterzubilden, ist das kleine Tool
Speedy_Tray_Output_Device_Changer
entstanden.
Die Funktionen sollten klar sein,
es wächselt einfach das
Standart DirectX Audio Ausgabe Gerät.
Über ein kleines Tray Symbol (siehe Screenshot).
Ist also nichts Atemberaubendes
Nen bischen anders siehts dort allerdings schon beim Code aus.
Alles wurde Programm Technisch gelöst, und ausserdem ist die von mir geschriebene
Unit(Klasse) für die Callback Funktion enthalten.
Die kann den einen oder anderen bestimmt noch behilflich sein
Enthalten sind ausserdem die ganzen benötigten
API-Units. Bei welchen ich allerdings nicht genau sagen kann, wer da wo sein Copyright hat, da die Units mehr oder weniger zusammen gefischt sind und ein Teil der Übersetzung auch von mir selber stammt.
Bei der
Unit "PolicyConfigAPI.pas" kann es zu dem sein, dass nicht alles richtig Übersetzt ist, da diese
API Funktionen von Microsoft
nicht Dokumentiert sind.
(Ich habe sogar gelesen, dass die Jungs das gar nicht so gut finden, wenn darauf zugegriffen wird. Wieso auch immer! Denn jedes kleine DVD Tool hat heute schon die Möglichkeit)
Wer da durchsteigt, der kann auf ganz einfach Weise, auch mit den Units viel mehr Sachen im Bereich Audio anstellen.
Möglich sind hiermit:
- Auf Geräte wechsel reagieren
- Lautstärke ändern (Systemweit und Programm weit)
- Auf Geräte Statuswechsel reagieren
- Callback Funktion (Direkte benachrichtigung im Programm)
Von dem eigentlichen Programm hängt ein kleiner Screenshot an.
Im Archiv befinded sich der fertige Code, und das Kompilat.
Stichworte: nonVCL, TrayIcon, PopupMenu, MMSystem, PolicyConfig, Callback, PropSys, DirectX, Message Window, IAudioEndpointVolume, IMMDevice, IMMDeviceCollection, IMMNotificationClient, IMMDeviceEnumerator, IPolicyConfig, IPolicyConfigVista, IPropertyStore, _tagpropertykey