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 01-07-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
WaveInOpen y Callback

hola, estoy tratando de intentar grabar de la placa de sonido la entrada de linea.
Por el momento no me exploto nada, todo bien, pero al momento de grabar me pide que en la funcion waveinopen le ponga una funcion callback, esto seria mi procedimiento que va a recibir dichos datos y donde yo ahi hare lo que quiera con los datos, ahora lo que no entiendo y no me da la cabeza es como pongo mi prodecimiento ahi??

intente poniendo el nombre de mi procedimiento y nada.

Código Delphi [-]
WaveInOpen(HWaveIn1,0,WaveFormat,ProcedimientoQueGraba,0,CALLBACK_WINDOW or WAVE_MAPPED);

alguien sabe como se pone la llamada a mi procedimiento ahi?

bueno desde ya muchas gracias

walter
Responder Con Cita
  #2  
Antiguo 01-07-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tú no pones la llamada, simplemente especificas cuál es el procedimiento que se va a llamar (es el sistema op. el que hace la llamada).

EDITO:

Si ProcedimientoQueGraba es el procedimiento que quieres usar, creo que debes anteponer una @:

Código Delphi [-]
WaveInOpen(HWaveIn1,0,WaveFormat,@ProcedimientoQueGraba,0,CALLBACK_WINDOW or WAVE_MAPPED);

// Saludos

Última edición por roman fecha: 01-07-2006 a las 01:44:32.
Responder Con Cita
  #3  
Antiguo 01-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Prueba poniendo una @ delante del nombre del procedicimento, lo que te pide es la direccion de la funcion y eso nos lo da la @ . Si te interesa en este otro hilo dejo un ejemplo de como capturar el sonido y utilizo los datos para mostrar un bonito grafico con la forma de onda.

EDITO:

Veo que Roman se me ha adelantado con lo de la @. De todas formas me he fijado que usas la opcion CALLBACK_WINDOW en ese caso el parametro dwCallback es el identificador (Handle) de una ventana y no la direccion de una funcion

Última edición por seoane fecha: 01-07-2006 a las 01:55:08.
Responder Con Cita
  #4  
Antiguo 01-07-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por seoane
ese caso el parametro dwCallback es el identificador (Handle) de una ventana y no la direccion de una funcion
Cierto, muy cierto. Entonces deberá usar CALLBACK_FUNCTION en lugar de CALLBACK_WINDOW.

// @Saludos
Responder Con Cita
  #5  
Antiguo 02-07-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
muchas gracias chicos ahora lo voy a probar!!!

Gracias nuevamente

walter
Responder Con Cita
  #6  
Antiguo 03-07-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Gente desde ya muchas gracias, pude hacerlo andar como dicen ustedes.

Ahora tengo una consulta mas y no jodo mas...

Me estoy volviendo tonto al tratar de usar la API de windows con ACM para que directamente me tome la entrada de linea ya en formato MP3, segun MSDN se puede pero no logro entenderlo ni hacerlo andar.

Alguien ya probo eso?

Gracias

walter
Responder Con Cita
  #7  
Antiguo 08-07-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Chicos ahi logre capturar en tiempo real por la entrada de linea de la placa de sonido en formato mp3 usando las librerias msacm y mmsystem.

Pero resulta que solo captura hasta 56kbps, y yo necesito por lo menos llegar hasta 128kbps.

Lei que usando la libreria de lame_enc se podia, bueno la descargue y la instale, todo bien hasta ahi en mi dialogo qu muestra todos los formatos ahora me aparecieron para mp3 muchos mas, hasta 320kbps, pero parece que algo a windows no le gusta.

Alguien intento hacer esto? o de alguna otra forma???

Gracias
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Marshall y CallBack´s Edgar Perez Providers 0 03-05-2006 16:39:55


La franja horaria es GMT +2. Ahora son las 17:15:16.


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