MCI_SET コマンド

注意

バイアスフリー通信 Microsoft は、多様で包含的な環境をサポートしています。 このドキュメント内には、"slave" という単語への参照があります。 Microsoft の Bias-Free Communications スタイル ガイドでは、これを除外語として認識しています。 この文言は、現在コマンド内で使用されている文言として使用されます。 一貫性を保つ目的で、このドキュメントにはこの単語が含まれています。 コマンドでこの単語が変更されると、このドキュメントが配置されるように修正されます。

MCI_SET コマンドは、デバイス情報を設定します。 CD オーディオ、デジタル ビデオ、MIDI シーケンサー、VCR、videodisc、ビデオ オーバーレイ、波形オーディオ デバイスは、このコマンドを認識します。

このコマンドを送信するには、次のパラメーターを指定して mciSendCommand 関数を呼び出します。

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SET, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_SET_PARMS) lpSet
);

パラメーター

wDeviceID

コマンド メッセージを受信する MCI デバイスのデバイス識別子。

dwFlags

MCI_NOTIFY、MCI_WAIT、またはデジタル ビデオおよび VCR デバイスの場合は、MCI_TEST。 これらのフラグの詳細については、「 待機、通知、およびテスト フラグ」を参照してください。

lpSet

MCI_SET_PARMS構造体へのポインター。 (拡張コマンド セットを持つデバイスは、この構造体をデバイス固有の構造に置き換える場合があります)。

戻り値

成功した場合は 0 を返し、それ以外の場合はエラーを返します。

解説

次の追加フラグは、MCI_SETをサポートするすべてのデバイスに適用されます。

MCI_SET_AUDIO

オーディオ チャネル番号は、 lpSet で識別される構造体の dwAudio メンバーに含まれます。 このフラグは、MCI_SET_ONまたはMCI_SET_OFFで使用する必要があります。 チャネル番号を示すには、次のいずれかの定数を使用します。

MCI_SET_AUDIO_ALL

すべてのオーディオ チャネル。

MCI_SET_AUDIO_LEFT

左側のチャネル。

MCI_SET_AUDIO_RIGHT

右チャネル。

MCI_SET_DOOR_CLOSED

メディア カバーを閉じます (存在する場合)。

MCI_SET_DOOR_OPEN

メディア カバーを開きます (存在する場合)。

MCI_SET_OFF

指定したビデオまたはオーディオ チャネルを無効にします。

MCI_SET_ON

指定したビデオまたはオーディオ チャネルを有効にします。

MCI_SET_TIME_FORMAT

時刻形式パラメーターは、lpSet で識別される構造体の dwTimeFormat メンバーに含まれています。 このフラグでは、次のフラグが使用されます。

MCI_FORMAT_BYTES

PCM (パルス コード変調) データ形式内で、入力または出力の時間メンバーの説明をバイトに変更します。 waveaudio デバイスの種類によって認識されます。

MCI_FORMAT_FRAMES

後続のコマンドではフレームが使用されます。 digitalvideovcrvideodisc デバイスの種類によって認識されます。

MCI_FORMAT_HMS

時刻の形式を時間、分、秒に変更します。 vcr および videodisc デバイスの種類によって認識されます。

MCI_FORMAT_MILLISECONDS

時間形式をミリ秒に変更します。 すべてのデバイスの種類によって認識されます。

MCI_FORMAT_MSF

時間の形式を分、秒、フレームに変更します。 cdaudio および vcr デバイスの種類によって認識されます。

MCI_FORMAT_SAMPLES

時間形式を入力または出力のサンプルに変更します。 waveaudio デバイスの種類によって認識されます。

MCI_FORMAT_SMPTE_24、MCI_FORMAT_SMPTE_25、MCI_FORMAT_SMPTE_30

時間形式をそれぞれ 24、25、30 フレーム SMPTE (映画テレビエンジニア協会) に設定します。 シーケンサーvcr デバイスの種類によって認識されます。

MCI_FORMAT_SMPTE_30DROP

時間形式を 30 ドロップフレーム SMPTE に設定します。 シーケンサーvcr デバイスの種類によって認識されます。

MCI_FORMAT_TMSF

時間の形式をトラック、分、秒、フレームに変更します。 (MCI では連続したトラック番号が使用されます)。 cdaudio および vcr デバイスの種類によって認識されます。

MCI_SET_VIDEO

ビデオ信号のオン/オフを設定します。 このフラグは、MCI_SET_ONまたはMCI_SET_OFFで使用する必要があります。 ビデオがないデバイスは、MCIERR_UNSUPPORTED_FUNCTIONを返します。

digitalvideo デバイスの種類では、次の追加フラグが使用されます。

MCI_DGV_SET_FILEFORMAT

ファイル形式パラメーターは、lpSet で識別される構造体の dwFileFormat メンバーに含まれています。 デジタル ビデオ デバイスの場合、ファイル形式は保存コマンドまたはキャプチャ コマンドに使用されます。 省略すると、既定でデバイス ドライバー定義の形式になる場合があります。 指定したファイル形式が現在選択されているアルゴリズムと品質と競合する場合、ファイル形式の既定値に変更されます。 次のファイル形式定数が定義されています。

MCI_DGV_FF_AVI

AVI 形式。

MCI_DGV_FF_AVSS

AVSS 形式。

MCI_DGV_FF_DIB

DIB 形式。

MCI_DGV_FF_JFIF

JFIF 形式。

MCI_DGV_FF_JPEG

JPEG 形式。

MCI_DGV_FF_MPEG

MPEG 形式。

MCI_DGV_FF_RDIB

RLE DIB 形式。

MCI_DGV_FF_RJPEG

RJPEG 形式。

MCI_DGV_SET_SEEK_EXACTLY

配置に使用する形式を設定します。 このフラグは、MCI_SET_ONまたはMCI_SET_OFFで使用する必要があります。 MCI_SET_ONが指定されている場合、再生または記録は、MCI_FROM フラグで指定されたフレームに正確にアクセスします。 これにより、要求されたフレームがキー フレームでない場合、追加の遅延が発生する可能性があります。 MCI_SET_OFFが指定されている場合、デバイスは要求されたフレームの前にあるキー フレーム イメージをシークします。 一部のファイルとデバイスでは、これがファイルの最初のフレームである可能性があります。 このフラグの既定値は、デバイスに依存します。

MCI_DGV_SET_SPEED

speed パラメーターは、lpSet によって識別される構造体の dwSpeed メンバーに含まれています。 速度は、公称フレーム レートと目的のフレーム レートとの間の比率として指定され、公称フレーム レートは 1000 として指定されます。 半分の速度は500、二重速度は2000です。 許容される速度範囲は、デバイスと場合によってはファイルにも依存します。

MCI_DGV_SET_STILL

MCI_DGV_SET_FILEFORMATと共に使用する場合、MCI_SETキャプチャ コマンドに使用するファイル形式を設定します。

デジタル ビデオ デバイスの場合、 lpSet パラメーターは MCI_DGV_SET_PARMS 構造体を指します。

シーケンサー デバイスの種類では、次の追加フラグが使用されます。

MCI_SEQ_FORMAT_SONGPTR

時間形式を曲ポインターの単位に設定します。

MCI_SEQ_SET_MASTER

シーケンサーを同期データのソースとして設定し、同期の種類が lpSet で識別される構造体の dwMaster メンバーで指定されていることを示します。 MCISEQ はMCIERR_UNSUPPORTED_FUNCTIONを返します。 同期の種類には、次の定数が定義されています。

MCI_SEQ_MIDI

シーケンサーは MIDI フォーマットの同期データを送信します。

MCI_SEQ_SMPTE

シーケンサーは SMPTE 形式の同期データを送信します。

MCI_SEQ_NONE

シーケンサーは同期データを送信しません。

MCI_SEQ_SET_OFFSET

シーケンスの SMPTE オフセットを、lpSet で識別される構造体の dwOffset メンバーによって指定されたに変更します。 これは、SMPTE 除算タイプのシーケンスにのみ影響します。

MCI_SEQ_SET_PORT

シーケンスの出力 MIDI ポートを、lpSet で識別される構造体の dwPort メンバーの MIDI デバイス識別子で指定されたポートに設定します。 デバイスは前のポート (存在する場合) を閉じ、新しいポートを開いて使用しようとします。 失敗した場合は、エラーを返し、以前に使用したポート (存在する場合) を再度開きます。 ポートには、次の定数が定義されています。

MCI_SEQ_NONE

以前に使用したポート (存在する場合) を閉じます。 シーケンサーは、MIDI メッセージが送信されない場合を除き、ポートが開いている場合とまったく同じように動作します。

MIDI_MAPPER

開いたポートを MIDI マッパーに設定します。

MCI_SEQ_SET_SLAVE

同期データを受信するようにシーケンサーを設定し、同期の種類が lpSet で識別される構造体の dwSlave メンバーで指定されていることを示します。 MCISEQ はMCIERR_UNSUPPORTED_FUNCTIONを返します。 同期の種類には、次の定数が定義されています。

MCI_SEQ_FILE

MIDI ファイルに含まれる同期データを受信するようにシーケンサーを設定します。

MCI_SEQ_MIDI

MIDI 同期データを受信するようにシーケンサーを設定します。

MCI_SEQ_NONE

MIDI ストリーム内の同期データを無視するようにシーケンサーを設定します。

MCI_SEQ_SMPTE

SMPTE 同期データを受信するシーケンサーを設定します。

MCI_SEQ_SET_TEMPO

MIDI シーケンスのテンポを、lpSet が指す構造体の dwTempo メンバーによって指定されたテンポに変更します。 分割タイプ PPQN のシーケンスの場合、テンポは 1 分あたりのビートで指定されます。除算タイプ SMPTE のシーケンスの場合、テンポは 1 秒あたりのフレーム数で指定されます。

シーケンサー デバイスの場合、 lpSet パラメーターは MCI_SEQ_SET_PARMS 構造体を指します。

vcr デバイスの種類では、次の追加フラグが使用されます。

MCI_VCR_SET_ASSEMBLE_RECORD

デバイスをアセンブル モードまたは挿入モードで記録するように設定します (アセンブルがオフの場合、挿入がオン、またはその逆の場合)。 次のいずれかのフラグで を使用します。

MCI_SET_ON

アセンブル レコードをオンに設定し、挿入レコードをオフにします。 すべてのビデオ、オーディオ、タイムコードトラックを記録します。

MCI_SET_OFF

アセンブル レコードをオフに設定し、挿入レコードをオンにします。 アセンブル レコードがオフの場合は、ビデオ、オーディオ、タイムコードの個々のトラックを録音用に選択できます。

MCI_VCR_SET_CLOCK

lpSet によって識別される構造体の dwClock メンバーには、新しいクロック時刻が含まれています。

MCI_VCR_SET_COUNTER_FORMA

lpSet で識別される構造体の dwCounterFormat メンバーには、状態カウンターで使用される新しいカウンタータイム形式を指定する定数が含まれています。 有効な定数の一覧については、このコマンドの追加フラグの一覧の「MCI_SET_TIME_FORMAT」を参照してください。

MCI_VCR_SET_COUNTER_VALUE

lpSet によって識別される構造体の dwCounterValue メンバーには、新しいカウンター値が含まれています。

MCI_VCR_SET_INDEX

lpSet によって識別される構造体の dwIndex メンバーには、画面上の表示の内容を示す定数が含まれており、次のいずれかである必要があります。

MCI_VCR_INDEX_COUNTER

カウンターを表示します。

MCI_VCR_INDEX_DATE

日付を表示します。

MCI_VCR_INDEX_TIME

時間を表示します。

MCI_VCR_INDEX_TIMECODE

タイムコードを表示します。

詳細については、 MCI_INDEX コマンドを参照してください。

MCI_VCR_SET_PAUSE_TIMEOUT

lpSet で識別される構造体の dwPauseTimeout メンバーには、pause コマンドの最大期間 (ミリ秒単位) が含まれます。

MCI_VCR_SET_POSTROLL_DURATION

lpSet で識別される構造体の dwPostrollDuration メンバーには、停止または一時停止コマンドが発行されたときに VCR トランスポートをブレーキするために必要な videotape の長さが現在の時刻形式で含まれています。

MCI_VCR_SET_POWER

電源のオンとオフを設定します。 次のいずれかのフラグと共に使用する必要があります。

MCI_SET_OFF

電源をオフにします。

MCI_SET_ON

電源をオンにします。

MCI_VCR_SET_PREROLL_DURATION

lpSet で識別される構造体の dwPrerollDuration メンバーには、VCR 出力を安定させるために必要なビデオテープの長さが現在の時刻形式で含まれています。

MCI_VCR_SET_RECORD_FORMAT

lpSet によって識別される構造体の dwRecordFormat メンバーには、レコード速度を記述する定数が含まれています。これは、次のいずれかである必要があります。

MCI_VCR_FORMAT_EP

低速で記録します。

MCI_VCR_FORMAT_LP

中低速の速度で記録します。

MCI_VCR_FORMAT_SP

標準速度で記録します。

MCI_VCR_SET_SPEED

lpSet で識別される構造体の dwSpeed メンバーには、新しい速度設定が含まれています。ここで、1000 は通常の速度、2000 は倍速、500 は半分の速度などです。

MCI_VCR_SET_TAPE_LENGTH

lpSet で識別される構造体の dwTapeLength メンバーには、テープの長さが検出できない場合に、テープの新しい長さが含まれます。

MCI_VCR_SET_TIME_MODE

lpSet で識別される構造体の dwTimeMode メンバーには、新しい位置指定時刻モードを示す定数が含まれています。 次の定数が有効です。

MCI_VCR_TIME_COUNTER

デバイスでカウンターを排他的に使用するように強制します。

MCI_VCR_TIME_DETECT

新しいビデオテープがデバイスに挿入されるか、モードが準備ができていない状態に変わるたびに、デバイスは videotape で使用可能なタイムコードがあるかどうかを判断する必要があります。 タイムコードが使用可能な場合は、位置を指定する後続のすべてのコマンドでタイムコードを使用します。 それ以外の場合は、カウンターを使用します。

MCI_VCR_TIME_TIMECODE

デバイスでタイムコードを排他的に使用するように強制します。

MCI_VCR_SET_TRACKING

微調整を行って VCR テープ トランスポートの速度を調整し、次のいずれかのフラグで使用する必要があります。

MCI_VCR_PLUS

テープトランスポート速度を上げます。

MCI_VCR_MINUS

テープ転送速度を低下させます。

MCI_VCR_RESET

追跡調整を 0 に戻します。

VCR デバイスの場合、 lpSet パラメーターは MCI_VCR_SET_PARMS 構造体を指します。

videodisc デバイスの種類では、次の追加フラグが使用されます。

MCI_VD_FORMAT_TRACK

追跡する時刻の形式を変更します。 MCI では、連続トラック番号が使用されます。

waveaudio デバイスの種類では、次の追加フラグが使用されます。

MCI_WAVE_INPUT

記録に使用する入力を、lpSet で識別される構造体の wInput メンバーに設定します。

MCI_WAVE_OUTPUT

再生に使用する出力を、lpSet で識別される構造体の wOutput メンバーに設定します。

MCI_WAVE_SET_ANYINPUT

現在の形式と互換性のある任意の波入力を記録に使用できます。

MCI_WAVE_SET_ANYOUTPUT

現在の形式と互換性のある任意の波出力を再生に使用できます。

MCI_WAVE_SET_AVGBYTESPERSEC

lpSet で識別される構造体の nAvgBytesPerSec メンバーに、再生、記録、保存に使用される 1 秒あたりのバイト数を設定します。

MCI_WAVE_SET_BITSPERSAMPLE

再生、記録、保存に使用されるサンプルあたりのビット数を、lpSet で識別される PCM データ形式の nBitsPerSample メンバーに設定します。

MCI_WAVE_SET_BLOCKALIGN

lpSet で識別される構造体の nBlockAlign メンバーに、再生、記録、保存に使用されるブロック配置を設定します。

MCI_WAVE_SET_CHANNELS

チャネルの数は、lpSet で識別される構造体の nChannels メンバーに示されます。

MCI_WAVE_SET_FORMATTAG

lpSet で識別される構造体の wFormatTag メンバーに、再生、記録、保存に使用される書式の種類を設定します。 WAVE_FORMAT_PCMを指定すると、形式が PCM に変更されます。

MCI_WAVE_SET_SAMPLESPERSEC

lpSet で識別される構造体の nSamplesPerSec メンバーに、再生、記録、保存に使用される 1 秒あたりのサンプル数を設定します。

波形オーディオ デバイスの場合、 lpSet パラメーターは MCI_WAVE_SET_PARMS 構造体を指します。

波形オーディオ データのいくつかのプロパティは、データを格納するファイルの作成時に定義されます。 これらのプロパティは、データがファイル内でどのように構造化されているかを示し、記録の開始後に変更することはできません。 これらのプロパティを識別するフラグの一覧を次に示します。

  • MCI_WAVE_SET_AVGBYTESPERSEC
  • MCI_WAVE_SET_BITSPERSAMPLE
  • MCI_WAVE_SET_BLOCKALIGN
  • MCI_WAVE_SET_CHANNELS
  • MCI_WAVE_SET_FORMATTAG
  • MCI_WAVE_SET_SAMPLESPERSEC

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Mmsystem.h (Windows.h を含む)

関連項目

Mci

MCI コマンド