song()

song(<indentificador del módulo>)

Descripción:

Inicia la reproducción de un módulo musical cargado previamente con la función load_song(). La función debe recibir como único parámetro el <identificador del módulo> a reproducir.

Tan sólo puede reproducirse un módulo a la vez, si se inicia la reproducción de un módulo cuando otro esté sonando, se detendrá el anterior. No obstante se pueden reproducir simultáneamente un módulo musical, una pista de CD-Audio (ver play_cd()) y múltiples efectos de sonido (ver sound()).

La reproducción siempre se realizará a partir del inicio del módulo (el comienzo de la canción). Para reproducir cualquier parte de un módulo se debe llamar a la función set_song_pos(), que fija la posición a partir de la cual debe reproducirse un módulo.

Programa ejemplo:
PROGRAM ejemplo_song;

GLOBAL
    id_canción;

BEGIN
    load_song("help\help.xm",1);

    song(id_canción); // Inicia la reproducción del módulo musical

    write(0,0,0,0,"Pulse ESC para terminar");
    REPEAT
        FRAME;
    UNTIL (key(_ESC));
    unload_song(id_canción);
END


Este ejemplo carga el módulo contenido en el archivo help.xm con la función load_song(), indicando que este debe reproducirse indefinidamente (esto se indica en la misma carga del archivo).

Entonces se inicia la reproducción del archivo con la función song().

El programa entrará entonces en un bucle en el que continuará sonando este módulo, hasta que una pulsación de la tecla ESC desemboque en la finalización del programa.

El volumen de reproducción puede controlarse mediante la función set_volume() y los datos contenidos en la estructura setup.


Nota: Para finalizar la reproducción de un módulo musical se debe emplear la función stop_song().


Nota: Se puede averiguar si un módulo está reproduciéndose llamando a la función is_playing_song().


Ver: load_song() - stop_song() - play_cd() - sound()