Ejemplo: Reproducir un archivo de formato wave

El siguiente procedimiento usa la interfaz de control de medios para reproducir un archivo de formato WAVE.

PARA REPRODUCIR.WAVE
  IGNORA MCI [open c:\\windows\\media\\ding.wav type waveaudio alias ding]
  MCI [set ding time format samples]
  MCI [play ding from 0 to 5000]
  ESPERA 120
  MCI [close ding]
FIN

Veamos más de cerca cada instrucción en el ejemplo anterior.

Primero, el procedimiento abre «c:\windows\media\ding.wav» ejecutando un comando open («abrir» en español). Usamos el argumento alias para que nos podamos referir a esta entidad como ding en lugar de siempre usar la ruta completa a ding.wav. A diferencia de la mayoría de los otros comandos MCI, el comando open devuelve un valor si se ejecuta con éxito. Debido a que los programas Logo deben hacer algo con cada valor devuelto, sencillamente usamos IGNORA para ignorarlo.

Después de abrir el dispositivo, usamos el comando set («pon» en español) para especificar el formato de tiempo como «samples», que significa «frecuencia de muestreo» en español. La frecuencia de muestreo es la unidad de sonido más pequeña dentro de un archivo WAVE.

A continuación, usamos el comando play («reproducir» en español) para empezar la reproducción de un tiempo a otro. Se reproduce el archivo asíncronamente, que quiere decir que FMSLogo no espera para que el sonido termine antes de ejecutar la próxima instrucción. Si quisieras esperar hasta que el archivo termine antes de seguir a la próxima instrucción, pudieras añadir la bandera wait («esperar» en español) al fin del comando MCI, como en:

MCI [play ding from 0 to 5000 wait]

No es necesario especificar una hora de finalización para el comando play. Si quisieras reproducir el archivo entero, pudieras hacerlo con:

MCI [play ding from 0]

La instrucción de ESPERA sólo espera dos segundos. No tiene nada que ver con la MCI, sólo te da tiempo para escuchar el sonido.

Finalmente, usamos el comando close («cerrar» en español) para decirle a la MCI que hemos terminado con el archivo.


SourceForge.net Logo