Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2008
ascrnet ascrnet is offline
Miembro
 
Registrado: mar 2007
Posts: 41
Poder: 0
ascrnet Va por buen camino
Delphius, mi idea no es ofender ha nadien. quisas me exprese mal. pero la idea es que yo estoy probando varias formas de hacer lo mismo con el tema del volumen. quisas para mi esa un poco complicado de entender ya que soy novato en delphi.

mira uso el siguiente codigo como bajar el volumen del TMediaPlayer, pero si veo el control de win no baja el volumen me refiero a lo grafico que no lo baja pero si a lo sonoro.

Código:
uses  MMSystem;

Type
 MCI_DGV_SETAUDIO_PARMS = record
 dwCallback : DWORD;
 dwItem : DWORd;
 dwValue : DWORD;
 dwOver : DWORD;
 lpstrAlgorithm : PChar;
 lpstrQuality : PChar;
 end;

Type
 MCI_STATUS_PARMS = record
 dwCallback : DWORD;
 dwReturn : DWORD;
 dwItem : DWORD;
 dwTrack : DWORD;
 end;

var
  Form1: TForm1;

const
 MCI_SETAUDIO = $0873;
 MCI_DGV_SETAUDIO_VOLUME = $4002;
 MCI_DGV_SETAUDIO_ITEM = $00800000;
 MCI_DGV_SETAUDIO_VALUE = $01000000;
 MCI_DGV_STATUS_VOLUME = $4019;

//***** rutina de sonido
 function GetMPVolume(MP : TMediaPlayer) : Integer;
 var p: MCI_STATUS_PARMS;
 begin
 p.dwCallback := 0;
 p.dwItem := MCI_DGV_STATUS_VOLUME;
 mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p));
 Result:=p.dwReturn;
 end;

 procedure SetMPVolume(MP : TMediaPlayer; Volume : Integer);
 var p: MCI_DGV_SETAUDIO_PARMS;
 begin
 p.dwCallback := 0;
 p.dwItem := MCI_DGV_SETAUDIO_VOLUME;
 p.dwValue := Volume;
 p.dwOver := 0;
 p.lpstrAlgorithm := nil;
 p.lpstrQuality := nil;
 mciSendCommand(MP.DeviceID, MCI_SETAUDIO,
 MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p));
 end;

//bajar el sonido
procedure TForm1.Timer1Timer(Sender: TObject);
begin
      SetMPVolume(MediaPlayer1,TrackBar1.Position)
end;
en cambio la que me dice cHackAll baja el master del volumen y tanto el sonoro como del control de win.

tu libreria todavia no la pruebo pero me gustaria saber si la haz probado en delphi superior a 7 , no se como 2007.

saludos
Responder Con Cita
  #2  
Antiguo 18-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
ascrnet,
Sería oportuno que me aclares algo: ¿Deseas trabajar con el volumen del sistema, ó sólo dentro de tu aplicación?

Porque buscando entre los hilos vas a encontrar algunos que hace una u otra forma. Por ejemplo mi componente trabaja con el volumen del sistema. Mientras que si te vas al último enlace que puse llegarás hacia un link donde hay un componente que lo hace en forma local (unicamente dentro de tu aplicación).

Me confunde el hecho de que hables de la barra de win, de que si baja o no baja... Y esto es lo que me hace dudar de que si lo que deseas es bajar el volumen del sistema o solo el de tu aplicación.

No he probado mi componente en versiones más nuevas, fue desarrollado en la 6, en la 7 no habría problemas aparentemente. Al menos nadie habrió un hilo quejandose de que falle mi componente.

Hace tiempo que no lo empleo, de hecho lo había perdido en un formateo. Y ahora el lugar en dode vive es este maravilloso lugar. Yo he cedido el componente para el uso del público. Y quien desee modificarlo puede hacerlo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 19-02-2008
ascrnet ascrnet is offline
Miembro
 
Registrado: mar 2007
Posts: 41
Poder: 0
ascrnet Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
ascrnet,
Sería oportuno que me aclares algo: ¿Deseas trabajar con el volumen del sistema, ó sólo dentro de tu aplicación?

Porque buscando entre los hilos vas a encontrar algunos que hace una u otra forma. Por ejemplo mi componente trabaja con el volumen del sistema. Mientras que si te vas al último enlace que puse llegarás hacia un link donde hay un componente que lo hace en forma local (unicamente dentro de tu aplicación).

Me confunde el hecho de que hables de la barra de win, de que si baja o no baja... Y esto es lo que me hace dudar de que si lo que deseas es bajar el volumen del sistema o solo el de tu aplicación.

No he probado mi componente en versiones más nuevas, fue desarrollado en la 6, en la 7 no habría problemas aparentemente. Al menos nadie habrió un hilo quejandose de que falle mi componente.

Hace tiempo que no lo empleo, de hecho lo había perdido en un formateo. Y ahora el lugar en dode vive es este maravilloso lugar. Yo he cedido el componente para el uso del público. Y quien desee modificarlo puede hacerlo.

Saludos,
para el sistema, lo que pasa es que he probados varios y algunos bajan o suben el control de volumen de windows
Código:
WinExec('SNDVOL32.EXE',SW_SHOWNORMAL);
al mismo tiempo que lo bajas o subes en delphi. ha eso me refiero.

lo otro como adjunto tu volumen.pas a mi proyecto en delphi no entiendo como ? paso a paso pliz

saludos
Responder Con Cita
  #4  
Antiguo 19-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola ascrnet,
Mi componente hace lo que dices.
Si bajas el volumen con mi componente notarás que en la barra del volumen de Windows baja. Si no deseas que suceda esto, la tendrás dificil. Al menos suena lógico que suceda esto: Si bajas el volumen de Windows, es lógico que este actue en base a dicho cambio.

Por lo segundo... no tengo Delphi a mano. Al menos en la versión 6 y 7 entre las opciones del menú hay una que dice claramante "Install Component", si no me falla la memoria es así: Component -> Install Component. Allí te aparecerá un cuadro de diáogo en el que debes suministrar la ruta al pas. Le das OK y sigues las instrucciones.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 19-02-2008
ascrnet ascrnet is offline
Miembro
 
Registrado: mar 2007
Posts: 41
Poder: 0
ascrnet Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Hola ascrnet,
Mi componente hace lo que dices.
Si bajas el volumen con mi componente notarás que en la barra del volumen de Windows baja. Si no deseas que suceda esto, la tendrás dificil. Al menos suena lógico que suceda esto: Si bajas el volumen de Windows, es lógico que este actue en base a dicho cambio.

Por lo segundo... no tengo Delphi a mano. Al menos en la versión 6 y 7 entre las opciones del menú hay una que dice claramante "Install Component", si no me falla la memoria es así: Component -> Install Component. Allí te aparecerá un cuadro de diáogo en el que debes suministrar la ruta al pas. Le das OK y sigues las instrucciones.

Saludos,
mmm, no el codigo que te puse arriba no baja nada del controlador de windows, pero si baja el volumen del mp3 nomas.

no funciona, en Component -> Install Component solo permite .dpk y .dpkw . si pongo el .pas de tu lib me dice que no sirve uso delphi 7.
acuerdate que solo tengo el tvoulumen.pas nomas

saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:34:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi