Ir al contenido


Foto

Controlar el volumen del PC desde WinXP hasta Win8


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 08 agosto 2013 - 01:28

Ya había publicado como controlar el volumen del PC en winXp con delphi, pero se quedó en el tintero hacerlo con Vista, Win7 y Win8. He recibido solicitudes, por privado, para hacer funcionar el código en los nuevos S.O. así que voy a tratar de hacerlo, al menos con las funciones mas básicas.

El método que funciona en XP no lo hace a partir Vista pues Miscrosoft varió la forma de controlar los dispositivos de audio, así que os voy a mostrar con una unit como hacerlo con los nuevos S.O.

Para los que dispongan de versiones mas modernas de delphi, es posible que tengan las definiciones de los interfaces que tenemos que usar, yo no las tengo, así que las he entresacado de los archivos de cabecera de la SDK de Vista y he adaptado a delphi lo necesario y no mas. Lo mismo he realizado para poder compilarlo en mi viejo compilador C++Builder 5. Esas cabeceras son MMDeviceApi.h, PropSys.h, Endpointvolume.h;

Para que con el mismo código pueda funcionar para todos los S.O. desde WinXp he implementado todas las funciones necesarias y simplemente verificando el S.O. en el que se ejecuta el código, elegirá automáticamente una versión u otra.

Las funciones que exporta la unit son:


delphi
  1. function  GetMasterMute: boolean;
  2. procedure SetMasterMute(Value: boolean);
  3. function  GetMasterVolume: DWORD;
  4. procedure SetMasterVolume(Value: DWORD);

A la unit la he llamado WinMasterVolumen

Voy a publicar el código fuente de WinMasterVolume.pas y un programita simple de ejemplo.


Espero que sea de utilidad.


Saludos.

Archivos adjuntos


  • 0




IP.Board spam blocked by CleanTalk.