Ayuda con sonidos
Publicado por Roberto Garcia (21 intervenciones) el 27/05/2005 08:18:16
Hola, estoy haciendo un programa que hace lo siguiente
Dado un texto que el usuario escribe en un memo, el programa debe "decir" el texto,
Si le metemos Hola, debe decir hola.
Ya tengo todo listo, ya separa por silabas y todo
Pero quiero que me sugieran como mandarlas a la tarjeta de sonido.
Pienso usar el Playsound de la unidad MMSystem, pero pasan dos cosas.
PlaySound('sonidos\silaba.wav', 0 ,SND_ASYNC);
Cuando uso SND_ASYNC solo se oye la ultima silaba, bueno, obviamente no se detiene a esperar que termine. y ese es un problema
La segunda
PlaySound(pChar('SYSTEMSTART'),0,SND_SYNC);
Este ya anda mejor porque espera a que termine una y luego hace sonar otra, pero el problema es ese, que "espera" y la pausa es lo suficientemente larga como para que no se oiga como deseamos.
El play sound esta en un ciclo de forma que se vayan diciendo silabas por silabas.
Luego, los archivos de sonidos estan grabados de tal forma que duren solo lo necesario, no hay espacios en blanco al final del archivo
Otra duda, tengo una tarjeta de sonido que no es FULL DUPLEX, eso puede ser la razon por la cual al usar SND_ASYNC, solo se oiga el ultimo archivo de sonido.
Que otro metodo conocen para reproducir archivos de audio en delphi?
Use la grabadora de sonido para grabar los archivos, algun otro programa mas civilizado que me sugieran para hacer la grabacion?
Podria haber alguna forma para que en tiempo de ejecucion se pegen los archivos WAV que van a ser reproducidos, por ejemplo
si voy a reproducir a1.wav, a2.wav y a3.wav, pegar el contenido de estos tres para que se reproduzca solo uno?
Alguna otra sugerencia?
Gracias.
Roberto Garcia
Dado un texto que el usuario escribe en un memo, el programa debe "decir" el texto,
Si le metemos Hola, debe decir hola.
Ya tengo todo listo, ya separa por silabas y todo
Pero quiero que me sugieran como mandarlas a la tarjeta de sonido.
Pienso usar el Playsound de la unidad MMSystem, pero pasan dos cosas.
PlaySound('sonidos\silaba.wav', 0 ,SND_ASYNC);
Cuando uso SND_ASYNC solo se oye la ultima silaba, bueno, obviamente no se detiene a esperar que termine. y ese es un problema
La segunda
PlaySound(pChar('SYSTEMSTART'),0,SND_SYNC);
Este ya anda mejor porque espera a que termine una y luego hace sonar otra, pero el problema es ese, que "espera" y la pausa es lo suficientemente larga como para que no se oiga como deseamos.
El play sound esta en un ciclo de forma que se vayan diciendo silabas por silabas.
Luego, los archivos de sonidos estan grabados de tal forma que duren solo lo necesario, no hay espacios en blanco al final del archivo
Otra duda, tengo una tarjeta de sonido que no es FULL DUPLEX, eso puede ser la razon por la cual al usar SND_ASYNC, solo se oiga el ultimo archivo de sonido.
Que otro metodo conocen para reproducir archivos de audio en delphi?
Use la grabadora de sonido para grabar los archivos, algun otro programa mas civilizado que me sugieran para hacer la grabacion?
Podria haber alguna forma para que en tiempo de ejecucion se pegen los archivos WAV que van a ser reproducidos, por ejemplo
si voy a reproducir a1.wav, a2.wav y a3.wav, pegar el contenido de estos tres para que se reproduzca solo uno?
Alguna otra sugerencia?
Gracias.
Roberto Garcia
Valora esta pregunta
0