Delphi - Controlar volumen altavoces

 
Vista:

Controlar volumen altavoces

Publicado por Fran García (36 intervenciones) el 04/11/2004 14:16:38
Necesito poder controlar mediante un trackbar el sonido que viene de la tarjeta de sonido. De momento lo tengo hecho con las siguientes funciones:

(*Procedimiento que modifica el volumen del altavoz irquierdo*)
Procedure TAutoCorrecion.Left_volume (value : Dword);
var Rvol, temp : Dword;
begin
waveoutgetvolume(0, @temp);//returns the current volume
ShowMessage('Left = '+inttostr(temp));
Rvol := hiword (temp);
asm
shl Rvol, 16
end;
Rvol := Rvol and $ffff0000;
waveoutsetvolume(0, value or Rvol);
end;

(*Procedimiento que modifica el volumen del altavoz derecho*)
Procedure TAutoCorrecion.Right_volume (value : Dword);
var Lvol, temp : Dword;
begin
waveoutgetvolume(0, @temp);
ShowMessage('Right = '+inttostr(temp));
Lvol := Loword (temp);
asm
shl value, 16
end;
value := value and $ffff0000;
waveoutsetvolume(0, value or Lvol);
end;

Sin embargo el efecto que se produce, es algo extraño ya que se modifica el volumen del sonido, pero no se modifica los valores de los controles de sonido de windows. ¿Hay otra forma de hacerlo para conseguir lo que yo quiero? Espero que me haya explicado con claridad.

Saludos

Fran García
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Controlar volumen altavoces

Publicado por Delfino (1222 intervenciones) el 04/11/2004 15:31:05
la suite JVCL tiene unos controles para manejar el multimedia muy facilmente, instalalo y lo podras hacer..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar volumen altavoces

Publicado por Fran García (36 intervenciones) el 04/11/2004 17:04:24
Prefería no utilizar componentes externas, aunque de todas formas le echaré un vistazo. La aplicación que estoy haciendo muestra dos tmediaplayer que pueden escucharse al mismo tiempo, y que se permita controlar el volumen de cada sonido por separado.

He encontrado esta solución:
http://www.swissdelphicenter.ch/en/showcode.php?id=618

pero no hay forma de hacerlo funcionar. Si se te ocurre algo más, no dudes en indicármelo porque soy un novato en esto de programar en delphi y seguro que me servirá.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar volumen altavoces

Publicado por Fran García (36 intervenciones) el 08/11/2004 18:44:05
Una forma más que cutre de que el anterior código funcione, es cambiarle la extensión al fichero de wav a mp3, pero sin embargo no funciona en todos los ordenadores. No funciona porque sino me equivoco algunos reproductores de windows media player comprueban que el contenido del fichero de audio con su extensión y al no ser coincidentes se produce un error. Sigo buscando una solución a este tema, así que si alguien la encuentra que no dude en comunicármela.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar volumen altavoces

Publicado por Fran García (36 intervenciones) el 08/11/2004 19:03:43
Tras varios intentos fallidos por hacer la aplicación sin utilizar componentes externas me he decidido a intentarlo con la suite JVCL, pero no encuentro nada que esté relacionado con componentes multimedia, ¿me puedes indicar en que pestaña se encuentra ese componente?

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Controlar volumen altavoces

Publicado por BigLuis (715 intervenciones) el 07/11/2004 11:23:31
Echale un vistazo a esta pagina
http://delphi.about.com/cs/adptips2000/a/bltip0800_4.htm
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar