Ejemplo: Grabar un archivo de formato wave

El siguiente procedimiento usa la interfaz de control de medios para grabar un archivo de audio en formato wave.

PARA GRABAR.AUDIO
  IGNORA MCI [open new type waveaudio alias micancion]
  MCI [record micancion]
  ESPERA 300
  MCI [stop micancion]
  MCI [save micancion micancion.wav]
  MCI [close micancion]
FIN

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

Primero, el procedimiento abre el dispositivo waveaudio ejecutando un comando open («abrir» en español). La bandera new («nuevo» en español) le dice a la MCI que debe abrir el dispositivo waveaudio para grabar, y no para reproducir. Se requiere el argumento alias cuando use la bandera new. En este caso, le da a la sesión de grabación el nombre «micancion» para que comandos futuros se la puedan referir. 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.

A continuación, usamos el comando record («grabar» en español) para empezar la grabación del micrófono.

La instrucción de ESPERA sólo espera cinco segundos. No tiene nada que ver con la MCI, sólo te da tiempo para grabar algo de audio.

El comando stop («detenerse» en español) detiene la grabación del micrófono.

El comando save («guardar» en español) copia todos los datos de audio grabados a un archivo llamado micancion.wav. Tengas en cuenta de que se ejecutan todos los comandos MCI asíncronamente, que quiere decir que FMSLogo puede ejecutar otras instrucciones Logo antes de que se escribiese el archivo por completo. Para asegurarte de que FMSLogo esperase hasta que el archivo está 100% escrito, puedes añadir la bandera wait («esperar» en español) al fin del comando MCI, así:

MCI [save micancion micancion.wav wait]

Después de que se ha guardado mycancion.wav por completo, se lo puede reproducir con la mayoría de las aplicaciones de audio. También se puede reproducirlo con FMSLogo, usando el comando SUENAWAVE o con otros instrucciones de MCI.

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


SourceForge.net Logo