Das Problem ist gelöst bzw. die Ursache gefunden. Die Implementation des IAudioEndpointVolume ist von Microsoft wohl irgendwann mal geändert worden. D.h. das Beispiel ist schlichtweg veraltet. Für die Deklarationen der Interfaces MMDevApi.pas verwenden, dann funktioniert es.
Ehrlich gesagt wundert es mich das es bei dir funktionieren soll.
Denn definitiv ist etwas nicht in Ordnung. (Was ich gefixt habe in der MMDevApi von TAudioVolume)
Hier kracht es nicht? GetChannelVolumeLevelScalar, sollte aber nach dem alten Code.
Wenn du die IAudioEndpointVolume vom obigen Code verwendest.
gruss