PDA

Ver la Versión Completa : Avisos sonoros en aplicaciones


ElDuc
05-12-2004, 12:55:33
Deseo poner avisos sonoros en mis aplicaciones.
Cuando programaba con Pascal utilizaba el procedimiento Sound(Frecuencia,Duración).
Este procedimiento no existe en Delphi.
¿Podéis ayudarme?

roman
05-12-2004, 19:08:43
Usa la función Beep de la unidad Windows.

Como Delphi también tiene un procedimiento Beep en la unidad SysUtils que es menos felxible, lo más probables es que debas anteponer el nombre de la unidad para que no te jale el de Delphi:

Windows.Beep(frecuencia, duracion)

Claro que no tratándose ya de aplicaciones DOS quizá te interese poner sonidos más sofisticados. Puedes usar la componente TMediaPlayer para reproducir pequeños sonidos wav.

// Saludos

<Sergio>
08-12-2004, 02:35:39
También existe otro "beep" que te permite usar los sonidos definidos por el usuario en el sistema operativo.

Para cosas mejores usa el TmediaPlayer con algunos .wav (como un .wav conteniendo sonidos ocmo "hola como esta" y cosas asi) : Si quieres reproducir varios sonidos al mismo tiempo: varios TmediaPlayer, sino uno solo que recupera el sonido, lo reproduce (pon noWait:=true para que no quede trancado hasta terminar de reproducir el sonido) y listo.

Todos los .wav a 16 bits a menos que realmente te importe el espacio en disco.

Para voz: 11025 muestras por segundo en mono
Para música: 22050 muestras por segundo en mono a menos que tenga algún efecto notable estéreo.

Puedes usar los .mp3 también pero no es garantia que funcione en win98 y win95 a menos que tengan instalados un media player actualizado.

También para música de fondo o para los .midi pero el Tmediaplayer como usa comandos MCI no es bueno para los .midi (culpa de los drivers del MCI, el sintetizador por soft parece que realiza TODA la sintetización antes de reproducir por lo que existe una demora que traba TODO y de lo que no te salvas ni con hilos) si tu tarjeta de sonido no tiene sintetización por hardware.