Ayuda con SndPlaySound()
Ayuda con SndPlaySound()
Hola amigos:
Tengo un sistema con el que mi cliente activa mediante un boton la grabadora de sonido de Windows mediante WAITRUN('SNDREC32'). Esto le permite almacenar en un archivo WAV conversaciones sostenidas con sus pacientes.
Estos archivos WAV son almacenados en un folder predeterminado y hasta hace algunos dias los reproducia mediante SndPlaySound(nombre del archivo). Pero ahora no funciona. Es el mismo equipo, el mismo Windows... nada ha cambiado.
Alguna idea de como hacer que funcione SndPlaySound() o algun metodo alterno?
Busque en los ejemplos y encontre:
DLLCALL.PRG
DLL FUNCTION SndPlaySound( cFile AS LPSTR, nType AS WORD ) AS BOOL ;
PASCAL LIB "MMSYSTEM.DLL"
Y TESTBMP2.PRG
#ifdef __XPP__
DLL FUNCTION SndPlaySound( cFile AS LPSTR, nType AS LONG ) AS BOOL PASCAL ;
FROM "sndPlaySoundA" LIB "winmm.dll"
#endif
Pero no me funciona....
Gracias
Tengo un sistema con el que mi cliente activa mediante un boton la grabadora de sonido de Windows mediante WAITRUN('SNDREC32'). Esto le permite almacenar en un archivo WAV conversaciones sostenidas con sus pacientes.
Estos archivos WAV son almacenados en un folder predeterminado y hasta hace algunos dias los reproducia mediante SndPlaySound(nombre del archivo). Pero ahora no funciona. Es el mismo equipo, el mismo Windows... nada ha cambiado.
Alguna idea de como hacer que funcione SndPlaySound() o algun metodo alterno?
Busque en los ejemplos y encontre:
DLLCALL.PRG
DLL FUNCTION SndPlaySound( cFile AS LPSTR, nType AS WORD ) AS BOOL ;
PASCAL LIB "MMSYSTEM.DLL"
Y TESTBMP2.PRG
#ifdef __XPP__
DLL FUNCTION SndPlaySound( cFile AS LPSTR, nType AS LONG ) AS BOOL PASCAL ;
FROM "sndPlaySoundA" LIB "winmm.dll"
#endif
Pero no me funciona....
Gracias
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Ayuda con SndPlaySound()
Hola Jose
yo lo hago de esta forma
aqui puedes ver los flags
http://msdn.microsoft.com/en-us/library ... S.85).aspx
yo lo hago de esta forma
aqui puedes ver los flags
http://msdn.microsoft.com/en-us/library ... S.85).aspx
Code: Select all
#pragma BEGINDUMP
#include <hbapi.h>
#include <windows.h>
//----------------------------------------------------------------------------//
HB_FUNC( SNDPLAYSOUND ) // cFileName, nFlags -->lSuccess
{
hb_retl( sndPlaySound( ( LPSTR ) hb_parc( 1 ), SND_ASYNC | hb_parnl( 2 ) ) );
}
#pragma ENDDUMP
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Ayuda con SndPlaySound()
Gracias Daniel, voy a probarlo
Re: Ayuda con SndPlaySound()
Hola Daniel,
Copie todo al final de mi PRG y NADA... se me habra olvidado algo ?
Gracias
Copie todo al final de mi PRG y NADA... se me habra olvidado algo ?
Gracias
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Ayuda con SndPlaySound()
Jose...
Has intentado reproducir los archivos por otra via, es decir, un reproductor externo?
puede que este fallando hardware o un cable desconectado, etc...
Has intentado reproducir los archivos por otra via, es decir, un reproductor externo?
puede que este fallando hardware o un cable desconectado, etc...
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Ayuda con SndPlaySound()
Es algo raro porque lo he probado en 3 computadoras. Voy a tener que usar un reproductor externo.
Muchas gracias por tu ayuda
Saludos desde Panama.
Muchas gracias por tu ayuda
Saludos desde Panama.
Re: Ayuda con SndPlaySound()
El peor error que uno puede buscar en un programa, es el que no existe.... Con mucha frecuencia pensamos que el codigo que escribimos contiene un error y pasamos horas y hasta dias buscandolo. Al final nos percatamos que no habia tal error y el problema era otro.
Mi problema con el SndPlaySound() era que el volumen del microfono estaba al minimo... y claro no registraba nada....
Gracias Daniel por tu tiempo
Saludos a todos
Mi problema con el SndPlaySound() era que el volumen del microfono estaba al minimo... y claro no registraba nada....
Gracias Daniel por tu tiempo
Saludos a todos
- Andrés González
- Posts: 625
- Joined: Thu Jan 19, 2006 10:45 am
- Location: Mallorca
Re: Ayuda con SndPlaySound()
De todas formas Jose la misma herramiente te reproduce lo que has grabado. Yo lo tengo en un boton que esta unido al registro y cuando lo pulso mira si el fichero existe y sino lo crea con el nombre que tu le especificas en /new (si has grabado algo). Y, si existe te lo reproduce y así tu puedes hacer lo que quieras despues, añadir grabacion, borrar hasta un punto determinado, mezclar con otra, etc. Entiendo el uso de SndPlaySoun() si no quieres permitir modificarlo.
Por asi decirlo este seria el script o la porcion de codigo que ejecuto cada vez:
otros codigos:
/embedding - ???
/play - play file
/open - open file but don't play it
/new - open new file ready for recording
/close - close file
Algo similiar tengo hecho con un programa ya mas avanzado y gratuito que es el Audacity. Te permite la edición multipista. El problema que tienes con SndRec32 es que no es para realizar grabaciones largas, ya que cuando llega al final del slider se para y tienes que darle otra vez para que se ponga en marcha otro tiempo finito. Para mensajes cortos, va fenomenal.
Por asi decirlo este seria el script o la porcion de codigo que ejecuto cada vez:
Code: Select all
WinExec("CMD /C START /separate c:\Windows\system32\sndrec32.exe "+ iif(!file(".\DAT\SND\"+alltrim(q_t)+".Wav"),"/new "+".\DAT\SND\"+alltrim(q_t)+".Wav","/play "+".\DAT\SND\"+alltrim(q_t)+".Wav"),0)
/embedding - ???
/play - play file
/open - open file but don't play it
/new - open new file ready for recording
/close - close file
Algo similiar tengo hecho con un programa ya mas avanzado y gratuito que es el Audacity. Te permite la edición multipista. El problema que tienes con SndRec32 es que no es para realizar grabaciones largas, ya que cuando llega al final del slider se para y tienes que darle otra vez para que se ponga en marcha otro tiempo finito. Para mensajes cortos, va fenomenal.
Saludos
Andrés González desde Mallorca
Andrés González desde Mallorca
Re: Ayuda con SndPlaySound()
Hola Andres
Gracias por contestar
Casualmente ahora tengo problema con WAITRUN('SNDREC32') ya que no me funciona en W7... ademas, no habia tomado en consideracion el tiempo de grabacion, el cual es muy importante en la aplicacion que estoy desarrollando debido a que puede ser una charla larga entre un paciente y su medico... Que alternativas tengo para reemplazar WAITRUN('SNDREC32')
Gracias por tu ayuda
Saludos desde Panama
Gracias por contestar
Casualmente ahora tengo problema con WAITRUN('SNDREC32') ya que no me funciona en W7... ademas, no habia tomado en consideracion el tiempo de grabacion, el cual es muy importante en la aplicacion que estoy desarrollando debido a que puede ser una charla larga entre un paciente y su medico... Que alternativas tengo para reemplazar WAITRUN('SNDREC32')
Gracias por tu ayuda
Saludos desde Panama
- Andrés González
- Posts: 625
- Joined: Thu Jan 19, 2006 10:45 am
- Location: Mallorca
Re: Ayuda con SndPlaySound()
La verdad es que no me lo había planteado, pero realizando una búsqueda rápida he encontrado este que además es opensource.
http://www.fridgesoft.de/harddiskogg.php
Voy a ver que consigo con él y te digo cosas.
http://www.fridgesoft.de/harddiskogg.php
Voy a ver que consigo con él y te digo cosas.
Saludos
Andrés González desde Mallorca
Andrés González desde Mallorca
Re: Ayuda con SndPlaySound()
Muchas gracias Andres