Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 19
gaston260 Va por buen camino
gracias por responder !!

tenes ! yo hice una prueva no hace mucho y el 41% corresponde a 128 , perfecto lo que no entiendo es como tomar el valor máximo de cada buffer , me podrias encaminar porfavor ??
Responder Con Cita
  #2  
Antiguo 31-01-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Vamos a ver, tu tienes este procedure:
Código Delphi [-]
procedure TfrmMain.BufferFinished(var Msg: TMessage);
var
  hdr: PWaveHdr;
  i: integer;
  P: PByte;
begin
  hdr:= PWaveHdr(Msg.LParam);
  with hdr^ do
    begin
      P:= PByte(lpData);
      Canvas.FillRect(Canvas.ClipRect);
      Canvas.MoveTo(width,128);
      Canvas.LineTo(0,128);
      for i:= 1 to dwBytesRecorded  do
        begin
          Canvas.LineTo(i,P^);
          inc(P);
        end;
    end;

  if waveInPrepareHeader(Device,hdr,sizeof(TWAVEHDR))<>MMSYSERR_NOERROR then
     begin
       CloseWaveDevice;
       exit;
     end;
  if waveInAddBuffer(Device,hdr,sizeof(TWAVEHDR))<>MMSYSERR_NOERROR then
    begin
      CloseWaveDevice;
      exit;
    end;
end;

Pues deberías hacer algo como esto:
Código Delphi [-]
procedure TfrmMain.BufferFinished(var Msg: TMessage);
var
  hdr: PWaveHdr;
  i: integer;
  P: PByte;
  B: Byte;
begin
  hdr:= PWaveHdr(Msg.LParam);
  with hdr^ do
    begin
      P:= PByte(lpData);
      B:= 0;
      for i:= 1 to dwBytesRecorded  do
        begin
          if P^ > B then
            B:= P^;
          inc(P);
        end;
      // Aqui haz lo que quieras con B, por ejemplo
      ProgressBar1.Position:= B; 
      // O incluso esto otro
      dec(B,128);
      ProgressBar1.Position:= B; 
    end;

  if waveInPrepareHeader(Device,hdr,sizeof(TWAVEHDR))<>MMSYSERR_NOERROR then
     begin
       CloseWaveDevice;
       exit;
     end;
  if waveInAddBuffer(Device,hdr,sizeof(TWAVEHDR))<>MMSYSERR_NOERROR then
    begin
      CloseWaveDevice;
      exit;
    end;
end;
Responder Con Cita
  #3  
Antiguo 31-01-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 19
gaston260 Va por buen camino
gracias por darme ese dato , tal ves no pueda contestar por el momento pero mañana volvere !!

gracias al club y a todos , en especial a seoane y a jachguate !!
Responder Con Cita
  #4  
Antiguo 01-02-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 19
gaston260 Va por buen camino
maestro funciono perfecto permitame una modificacion en la linea (dec(B,128); por dec(B,124) ya que sin sonido alguno el progress marcaba 100% , con esta modificacion anda perfecto

¿ es posible tener varios progress y a cada uno dividirlo para que responda a una frecuencia determinada tal cual como en el winamp o el reproductor de windows ?
Responder Con Cita
  #5  
Antiguo 01-02-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 19
gaston260 Va por buen camino
voy a explicar mejor mi pregunta ¿ es posible tener varios progress y a cada uno asignarle una frecuencia distinta tal cual como en el winamp o el reproductor de ?

muchas gracias por dedicar su tiempo en leer mi pregunta !
Responder Con Cita
  #6  
Antiguo 01-02-2008
gaston260 gaston260 is offline
Miembro
 
Registrado: ene 2008
Posts: 169
Poder: 19
gaston260 Va por buen camino
espero que este salga mejor jaja ¿ es posible tener varios progress y a cada uno asignarle una rango de frecuencia distinta ?

gracias por dedicar su tiempo en leer mi pregunta !!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con puntero lmcz OOP 1 19-10-2007 14:46:54
Puntero Humano vtdeleon La Taberna 14 16-02-2007 21:41:10
puntero *pantalla en c++ coletaun Varios 15 21-07-2006 14:46:04
puntero a imagen Abaddon Gráficos 9 16-06-2005 00:17:29
Puntero a Stream Enan0 Varios 3 22-03-2005 22:08:13


La franja horaria es GMT +2. Ahora son las 16:14:08.


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