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
-
後続のコマンドではフレームが使用されます。 digitalvideo、vcr、videodisc デバイスの種類によって認識されます。
-
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 [デスクトップ アプリのみ] |
ヘッダー |
|