記録中
一般的なMCI仕様では、デジタルビデオ、MIDIシーケンサー、ビデオカセットレコーダー(VCR)、波形オーディオデバイスを使用した録音がサポートされています。ただし、波形オーディオおよび VCR デバイスのみが現在、記録機能を実装しています。 記録された情報を既存のファイルまたはレコードに挿入したり、新しいファイルに上書きしたりできます。 既存のファイルに記録するには、通常と同様に波形オーディオ デバイスとファイルを開きます。 新しいファイルに記録するには、コマンド文字列インターフェイスを使用している場合、デバイスを開くときにデバイス名として "new" を指定します。 コマンド メッセージ インターフェイスを使用している場合は、長さ 0 のファイル名を指定します。
MCI が記録用の新しいファイルを作成すると、データ形式はデバイス ドライバーで指定された既定の形式に設定されます。 既定の形式以外の形式を使用するには、 set (MCI_SET) コマンドを使用します。
記録を開始するには、 record コマンド (または MCI_RECORD と MCI_RECORD_PARMS 構造体) を使用します。
既存のファイルに挿入モードで記録する場合は、 record コマンドの "from" (MCI_FROM) フラグと "to" (MCI_TO) フラグを使用して、記録の開始位置と終了位置を指定できます。 たとえば、長さが 20 秒のファイルに記録し、5 秒で記録を開始し、10 秒で記録を終了すると、結果のファイルの長さは 25 秒になります。 ファイルには、元の記録に 5 秒挿入された 5 秒のセグメントが含まれます。
既存のファイルに上書きモードで記録する場合は、"from" フラグと "to" フラグを使用して、上書きされるセクションの開始位置と終了位置を指定できます。 たとえば、長さが 20 秒のファイルに記録し、5 秒で記録を開始し、10 秒で記録を終了した場合でも、記録時間は 20 秒ですが、5 秒から 10 秒で終わるセクションは置き換えられます。
終了場所を指定しない場合、 停止 (MCI_STOP) コマンドを送信するか、ドライバーの空きディスク領域が不足するまで記録が続行されます。 新しいファイルに記録する場合は、"from" フラグを省略するか、ゼロに設定して、新しいファイルの先頭で記録を開始できます。 新しいファイルに記録するときに記録を終了する終了場所を指定できます。
レコード コマンドは、VCR デバイスなど、開始位置のわずか 1 秒以内に正確な場合があります。 より正確に記録するには、 キュー (MCI_CUE) コマンドを使用する必要があります。 このコマンドは、デジタル ビデオ、VCR、波形オーディオ デバイスで認識されます。 VCR デバイスでの記録の詳細については、「 VCR サービス」を参照してください。
記録されたファイルの保存
記録が完了したら、 保存 コマンド (または MCI_SAVE と MCI_SAVE_PARMS 構造) を使用して、デバイスを閉じる前に記録を保存します。
注意
保存せずにデバイスを閉じると、記録されたデータは失われます。
入力レベルのチェック (PCM のみ)
PCM(パルスコード変調)波形オーディオ入力デバイスに記録する前に入力信号のレベルを取得するには、 ステータス (MCI_STATUS)コマンドを使用します。 "level" フラグ (または MCI_STATUS_ITEM フラグ) を指定し、MCI_STATUS_PARMS構造体の dwItem メンバーを MCI_WAVE_STATUS_LEVEL に設定します。 平均入力信号レベルが返されます。 左チャネル値は上位ワードにあり、右チャネルまたはモノチャネル値は下位ワードにあります。
入力レベルは符号なし値として表されます。 8 ビットサンプルの場合、この値は 0 ~ 127 (0x7F) の範囲です。 16 ビット サンプルの場合、0 ~ 32,767 (0x7FFF) の範囲です。