SAMPLE * sound_get_sample( int id_sonido )


Retorna:

 Puntero a SAMPLE de un sonido.
 NULL //Si no puede obtener el SAMPLE

Descripción:

Obtiene un puntero a SAMPLE de un sonido previamente cargado con las funciones load_sound() / load_wav() / load_voc() que son las que devuelven el identificador de sonido correspondiente a dicho sonido o (NULL) si no pudo obtenerlo.


MAIN_PROGRAM_CDIV
PRIVATE
   int
    posicion,
    len,
    id_sonido,
    canal;
    
   SAMPLE * snd;

BEGIN_PROGRAM

 set_gfx(GFX_AUTODETECT_WINDOWED);

 set_mode(m320x200);

 write(0, 10, 10, 0, "Posición del sonido:");
 write_int(0, 180, 10, 0, &posicion);
 write(0, 10, 30, 0, "Longitud del sonido:");
 write_int(0, 180, 30, 0, &len);

 id_sonido = load_wav("../help.wav", 1);
 
 snd = sound_get_sample( id_sonido );
 
 len = snd->len;
 
 snd->loop_start = 2000;
 snd->loop_end   = 4000;
 
 canal = sound(id_sonido, 127);
 
 LOOP{
        posicion = sound_get_position(canal);
        FRAME;
 }

END_PROGRAM

En 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.

Obtenemos el SAMPLE por medio de la función sound_get_sample() que se reproduce un sonido cíclicamente, modificando la posición de inicio a 2000 y la de final a 4000 del sonido reproduciendo el sonido por medio de la función sound(), también se muestra como datos informativos la longitud del sonido y la posición del sonido por medio de la función sound_get_position().


Ver: load_wav() - sound() - sound_get_length() - sound_get_position() - change_sound() - stop_sound()