unload_pcm() / unload_wav()

unload_pcm(<código del sonido>)

unload_wav(<código del sonido>)

Descripción:

Descarga de memoria el sonido cuyo código se pasa como parámetro. Este <código de sonido> es el valor que retornan las funciones load_pcm() y load_wav() cuando se carga un nuevo efecto de sonido en la memoria.

Tras descargarse un efecto de sonido se deben extremar las precauciones para no continuar utilizando en el programa dicho efecto (su código), en cuyo caso el programa correría el riesgo de bloquearse.

No es necesario descargar el sonido de memoria antes de finalizar el programa, ya que el sistema lo hará de forma automática.

Por lo tanto, un sonido se debe descargar de memoria únicamente cuando ya no se vaya a utilizar durante un tiempo determinado y se quiera liberar el espacio ocupado en la memoria del ordenador para cargar otros recursos (otros ficheros de gráficos, sonidos, fuentes, etc.), lo que tendrá sentido únicamente con efectos de sonido de cierta longitud, es decir, que sean lo suficientemente grandes como para que merezca la pena liberar el espacio que ocupan.

Programa ejemplo:
PROGRAM ejemplo_unload_pcm;

PRIVATE
    sonido1;

BEGIN
    sonido1=load_pcm("help\help.pcm",0);
    write(0, 160, 0, 1, "Pulse [ENTER] para descargar el sonido y terminar");
    REPEAT
        FRAME;
    UNTIL (key(_enter));

    unload_pcm(sonido1); // Se descarga el fichero.

END


El ejemplo carga el efecto de sonido contenido en el archivo help.pcm con la función load_pcm(), guardando el código del sonido en la variable privada sonido1.

El programa permanecerá en un bucle hasta que se pulse la tecla ENTER, momento en el cual se descargará el fichero de memoria con unload_pcm() y terminará el programa.


Para parar un efecto de sonido, pero seguir manteniéndolo en memoria para cuando se quiera hacer sonar de nuevo, se debe utilizar la función stop_sound().


Ver: load_pcm/wav() - sound() - change_sound() - stop_sound()