void sound_pause( int
id_canal )
void sound_resume( int
id_canal )
Descripción:
- sound_pause(): Para un sonido, almacenando la posición actual y estado para que luego pueda continuar la reproducción llamando sound_resume().
- sound_resume(): Activa un sonido, usando los parámetros que le haya ajustado.
MAIN_PROGRAM_CDIV
PRIVATE
int
id_sonido,
canal,
posicion;
BEGIN_PROGRAM
set_gfx(GFX_AUTODETECT_WINDOWED);
set_mode(m320x200);
write(0, 10, 10, 0, "[ESPACIO] Detener y posicionar sonido");
write(0, 10, 20, 0, "[ ENTER ] Reanudar sonido");
write(0, 10, 40, 0, "Posición del Sonido: ");
write_int(0, 180, 40, 0, &posicion);
id_sonido = load_wav("../help.wav", 1);
canal = sound(id_sonido, 127, 127);
LOOP
{
// Detiene el sonido y va al posición 1000
if (scan_code == _space)
{
sound_pause( canal );
sound_set_position( canal, 5000 );
}
// Reanuda el sonido
if (scan_code == _enter)
sound_resume(canal);
posicion = sound_get_position(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.
En el bucle principal, a cada pulsación de BARRA ESPACIADORA se detiene el sonido con sound_pause() y se posiciona en 5000 con sound_set_position(); y si se pulsa ENTER el sonido vuelve a reproducirse a partir de 5000 con sound_resume().
Veremos continuamente la posición del sonido gracias a la función sound_get_position() que actualiza la variable posicion.
Ver: load_wav() - sound() - sound_get_position() - sound_set_position() - sound_set_playmode() - change_sound() - stop_sound()