void sound_sweep_volume(
int id_canal, int
tiempo, unsigned char volumen_final )
void sound_stop_sweep_volume(
int id_canal )
Descripción:
- sound_sweep_volume(): Función que realiza un cambio de volumen (aumentando o diminuyendo) desde el volumen actual al volumen final, especificando el tiempo en milisegundos.
- sound_stop_sweep_volume(): Función que detiene el cambio de volumen.
MAIN_PROGRAM_CDIV
PRIVATE
int
volumen,
id_sonido,
canal;
BEGIN_PROGRAM
set_gfx(GFX_AUTODETECT_WINDOWED);
set_mode(m320x200);
volumen = 0;
write(0, 0, 0, 0, "Volumen:");
write_int(0, 70, 0, 0, &volumen);
write(0, 0, 30, 0, "Pulse [SPACE] para detener");
id_sonido = load_wav("../help.wav", 1);
canal = sound(id_sonido, 127, 0);
sound_sweep_volume( canal, 10000, 255 );
LOOP
{
volumen = sound_get_volume(canal);
if( scan_code == _space )
sound_stop_sweep_volume(canal);
FRAME;
}
END_PROGRAMEn el ejemplo se pone una pantalla de fondo y un texto explicativo, y se carga un sonido con la función load_sound() / load_wav / load_vod(); ésta devuelve el identificador del sonido, que se guarda en la variable id_sonido.
Se reproduce el sonido por medio de la función sound() estableciendo el volumen del sonido a 0, para posteriormente modificarlo con la función sound_sweep_volume() a 255 durante 10000 milisegundos y la función sound_get_volume() mantendrá actualizada el valor del volumen, si se pulsa la BARRA ESPACIADORA se detendrá por medio de la función sound_stop_sweep_volume().
Ver: load_wav() - sound() - sound_get_volume() - change_sound() - stop_sound()