Grabando
La especificación general de MCI admite la grabación con dispositivos digital-video, secuenciador MIDI, grabadora de cassette de vídeo (VCR) y audio de forma de onda; Sin embargo, actualmente, solo los dispositivos de audio de forma de onda y VCR implementan funcionalidades de grabación. Puede insertar o sobrescribir información grabada en un archivo o registro existente en un nuevo archivo. Para grabar en un archivo existente, abra un dispositivo de audio de forma de onda y un archivo como lo haría normalmente. Para registrar en un nuevo archivo, al abrir el dispositivo, especifique "nuevo" como nombre del dispositivo si usa la interfaz de cadena de comandos. Si usa la interfaz command-message, especifique un nombre de archivo de longitud cero.
Cuando MCI crea un nuevo archivo para la grabación, el formato de datos se establece en un formato predeterminado especificado por el controlador de dispositivo. Para usar un formato distinto del formato predeterminado, puede usar el comando set (MCI_SET).
Para empezar a grabar, use el comando record (o MCI_RECORD y la estructura MCI_RECORD_PARMS ).
Si graba en modo de inserción en un archivo existente, puede usar las marcas "from" (MCI_FROM) y "to" (MCI_TO) del comando record para especificar posiciones iniciales y finales para la grabación. Por ejemplo, si graba en un archivo de 20 segundos y comienza a grabar en 5 segundos y finaliza la grabación en 10 segundos, el archivo resultante tendrá 25 segundos de duración. El archivo tendrá un segmento de 5 segundos insertado 5 segundos en la grabación original.
Si registra con el modo de sobrescritura en un archivo existente, puede usar las marcas "from" y "to" para especificar las ubicaciones iniciales y finales de la sección que se sobrescribe. Por ejemplo, si graba en un archivo que tiene 20 segundos de duración y comienza a grabar en 5 segundos y finaliza la grabación en 10 segundos, todavía tiene una grabación de 20 segundos, pero la sección comienza en 5 segundos y termina en 10 segundos se habrá reemplazado.
Si no especifica una ubicación final, la grabación continúa hasta que envíe un comando stop (MCI_STOP) o hasta que el controlador se quede sin espacio libre en disco. Si graba en un archivo nuevo, puede omitir la marca "from" o establecerla en cero para iniciar la grabación al principio de un nuevo archivo. Puede especificar una ubicación final para finalizar la grabación al grabar en un nuevo archivo.
A veces, el comando record es preciso en solo 1 segundo de la ubicación inicial, como con dispositivos VCR. Para grabar con más precisión, debe usar el comando de indicación (MCI_CUE). Este comando lo reconocen los dispositivos digital-video, VCR y waveform-audio. Para obtener más información sobre cómo grabar con dispositivos VCR, consulte VcR Services.
Guardar un archivo grabado
Una vez completada la grabación, use el comando save (o MCI_SAVE y la estructura MCI_SAVE_PARMS ) para guardar la grabación antes de cerrar el dispositivo.
Nota:
Si cierra el dispositivo sin guardarlos, se perderán los datos registrados.
Comprobación de los niveles de entrada (solo PCM)
Para obtener el nivel de la señal de entrada antes de grabar en un dispositivo de entrada de forma de onda pcM (modulación de código de pulso), use el comando status (MCI_STATUS). Especifique la marca "level" (o la marca MCI_STATUS_ITEM y establezca el miembro dwItem de la estructura MCI_STATUS_PARMS en MCI_WAVE_STATUS_LEVEL). Se devuelve el nivel medio de señal de entrada. El valor del canal izquierdo está en la palabra de orden alto y el valor de canal mono o derecho se encuentra en la palabra de orden bajo.
El nivel de entrada se representa como un valor sin signo. Para las muestras de 8 bits, este valor está comprendido entre 0 y 127 (0x7F). Para muestras de 16 bits, se encuentra en el intervalo de 0 a 32 767 (0x7FFF).