2011-01-06 26 views
7

Ni siquiera estoy seguro de si cabe en una pregunta, pero es un solo problema. Tengo un reproductor de radio por Internet escrito en Delphi XE, usando la biblioteca BASS para reproducción y reproducción de audio. La aplicación necesita ejecutarse bajo Windows XP, Vista y 7.Control del volumen del sonido de la aplicación en Delphi

Bass hace que sea fácil controlar el volumen global, pero no tiene facilidad para silenciar el sonido, y en general es una mejor idea controlar el volumen por aplicación.

Bass también hace que sea fácil controlar el volumen de un "canal" (transmisión), pero nuevamente no hay enmudecimiento, y este tampoco es el control adecuado por aplicación. (El control de volumen de la aplicación en el mezclador de Windows no se ve afectado.)

Entiendo que para Vista y versiones superiores necesito ISimpleAudioVolume y/o IAudioEndpointVolume, pero no puedo encontrar una implementación Delphi de estos. Entonces, una parte de la pregunta es, ¿existe como una biblioteca de terceros?

La segunda parte es, ¿cuál es la forma correcta de controlar el volumen y alternar el silencio (en todo el sistema o por aplicación) en XP, donde estas interfaces no están disponibles?

+0

No es necesario una "aplicación Delphi". Simplemente siga los documentos oficiales en MSDN. –

+0

Estas interfaces no parecen declararse en Delphi Xe. ¿Y qué hay de XP? –

+1

1) Puede declararlos usted mismo. 2) Eso podría ser un problema. –

Respuesta

2

Use este código simple para silenciar el volumen principal funciona en mi máquina:

procedure TForm1.Button1Click(Sender: TObject); 
var 
i:Integer; 
begin 
for i:=0 to 100 do 
begin 
    keybd_event($AE, MapVirtualKey($AE,0), 0, 0); 
    keybd_event($AE, MapVirtualKey($AE,0), KEYEVENTF_KEYUP, 0); 
end; 
end; 
+1

En lugar de bajar el volumen, ¿por qué no silenciarlo realmente? [Códigos de clave virtual] (http://msdn.microsoft.com/en-us/library/dd375731%28v=vs.85%29.aspx) -> 'VK_VOLUME_MUTE' = 0xAD –

+0

porque no funciona en mi ¿plataforma? – opc0de

Cuestiones relacionadas