Compartilhar via


Gravação

A especificação geral do MCI dá suporte à gravação com vídeo digital, sequenciador MIDI, video-cassette recorder (VCR) e dispositivos de áudio de forma de onda; no entanto, apenas dispositivos waveform-audio e VCR atualmente implementam recursos de gravação. Você pode inserir ou substituir informações gravadas em um arquivo ou registro existente em um novo arquivo. Para gravar em um arquivo existente, abra um dispositivo de áudio de forma de onda e um arquivo como você faria normalmente. Para registrar em um novo arquivo, ao abrir o dispositivo, especifique "novo" como o nome do dispositivo se você estiver usando a interface de cadeia de caracteres de comando. Se você estiver usando a interface command-message, especifique um nome de arquivo de comprimento zero.

Quando o MCI cria um novo arquivo para gravação, o formato de dados é definido como um formato padrão especificado pelo driver de dispositivo. Para usar um formato diferente do formato padrão, você pode usar o comando set (MCI_SET).

Para iniciar a gravação, use o comando de registro (ou MCI_RECORD e a estrutura MCI_RECORD_PARMS ).

Se você gravar no modo de inserção em um arquivo existente, poderá usar os sinalizadores "from" (MCI_FROM) e "to" (MCI_TO) do comando de registro para especificar posições iniciais e finais para gravação. Por exemplo, se você gravar em um arquivo com 20 segundos de duração e começar a gravar a 5 segundos e terminar a gravação em 10 segundos, o arquivo resultante terá 25 segundos de duração. O arquivo terá um segmento de 5 segundos inserido 5 segundos na gravação original.

Se você gravar com o modo de substituição em um arquivo existente, poderá usar os sinalizadores "from" e "to" para especificar locais iniciais e finais da seção substituída. Por exemplo, se você gravar em um arquivo com 20 segundos de duração e começar a gravar a 5 segundos e terminar a gravação em 10 segundos, ainda terá uma gravação de 20 segundos, mas a seção começando em 5 segundos e terminando em 10 segundos terá sido substituída.

Se você não especificar um local final, a gravação continuará até que você envie um comando stop (MCI_STOP) ou até que o driver fique sem espaço livre em disco. Se você gravar em um novo arquivo, poderá omitir o sinalizador "from" ou defini-lo como zero para iniciar a gravação no início de um novo arquivo. Você pode especificar um local final para encerrar a gravação ao gravar em um novo arquivo.

Às vezes, o comando de registro é preciso para dentro de apenas 1 segundo do local inicial, como com dispositivos VCR. Para registrar com mais precisão, você deve usar o comando cue (MCI_CUE). Esse comando é reconhecido por dispositivos de vídeo digital, VCR e waveform-audio. Para obter mais informações sobre a gravação com dispositivos VCR, consulte Serviços de VCR.

Salvando um arquivo gravado

Quando a gravação for concluída, use o comando salvar (ou MCI_SAVE e a estrutura MCI_SAVE_PARMS ) para salvar a gravação antes de fechar o dispositivo.

Observação

Se você fechar o dispositivo sem salvar, os dados gravados serão perdidos.

 

Verificando níveis de entrada (somente PCM)

Para obter o nível do sinal de entrada antes da gravação em um dispositivo de entrada de áudio de forma de onda PCM (Pulse Code Modulation), use o comando status (MCI_STATUS). Especifique o sinalizador "level" (ou o sinalizador MCI_STATUS_ITEM e defina o membro dwItem da estrutura MCI_STATUS_PARMS como MCI_WAVE_STATUS_LEVEL). O nível médio de sinal de entrada é retornado. O valor do canal esquerdo está na palavra de alta ordem e o valor de canal direito ou mono está na palavra de baixa ordem.

O nível de entrada é representado como um valor não assinado. Para amostras de 8 bits, esse valor está no intervalo de 0 a 127 (0x7F). Para amostras de 16 bits, ele está no intervalo de 0 a 32.767 (0x7FFF).