set コマンド

Note

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

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

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

_stprintf_s(
  lpszCommand,
  TEXT("set %s %s %s"),
  lpszDeviceID,
  lpszSetting,
  lpszFlags
);
      

パラメーター

lpszDeviceID

MCI デバイスの識別子。 この識別子またはエイリアスは、デバイスを開いたときに割り当てられます。

lpszSetting

制御設定を確立するためのフラグ。 次の表に、 set コマンドを認識するデバイスの種類と、各種類で使用されるフラグを示します。

デバイスの種類 コマンド フラグ
cdaudio
  • audio all off
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • ドアが閉じている
  • ドアを開く
  • 時間形式のミリ秒
  • 時間形式 msf
  • time format tmsf
digitalvideo
  • audio all off
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • ドアが閉じている
  • ドアを開く
  • ファイル形式 の形式
  • 正確にシークする
  • 正確にオフにシーク
  • 速度 係数
  • still ファイル 形式
  • タイム フォーマット フレーム
  • 時間形式のミリ秒
  • ビデオオフ
  • ビデオ
overlay
  • audio all off
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • ドアが閉じている
  • ドアを開く
  • ビデオオフ
  • ビデオ
sequencer
  • audio all off
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • ドアが閉じている
  • ドアを開く
  • マスター MIDI
  • master none
  • master SMPTE
  • オフセット 時間
  • ポート マッパー
  • ポートなし
  • ポート port_number
  • スレーブ ファイル
  • スレーブ MIDI
  • スレーブなし
  • スレーブ SMPTE
  • テンポ tempo_value
  • 時間形式のミリ秒
  • 時間形式 SMPTE fps
  • 時間形式 SMPTE 30 drop
  • 時間形式の曲ポインター
ビデオデッキ
  • でレコードを組み立てる
  • レコードを組み立てる
  • audio all off
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • クロック 時間
  • counter 形式
  • counter
  • ドアが閉じている
  • ドアを開く
  • インデックス カウンター
  • インデックスの日付
  • インデックス時刻
  • インデックス時刻
  • codelength duration
  • 一時停止 タイムアウト
  • postroll duration -
  • duration
  • 電源オン
  • 電源オフ
  • プリ ロール期間
  • レコード形式 SP
  • レコード様式 LP
  • レコード形式 EP
  • 速度 係数
  • タイム フォーマット フレーム
  • 時刻形式 hms
  • 時間形式のミリ秒
  • 時間形式 msf
  • 時間形式 SMPTE fps
  • 時間形式 SMPTE 30 drop
  • time format tmsf
  • タイム モード カウンター
  • 時間モードの検出
  • タイム モードのタイムコード
  • 追跡に加えて
  • 追跡マイナス
  • 追跡のリセット
videodisc
  • オーディオすべてオフ
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • ドアが閉じている
  • ドアを開く
  • タイム フォーマット フレーム
  • 時刻形式 hms
  • 時間形式のミリ秒
  • タイムフォーマットトラック
  • ビデオオフ
  • ビデオ
waveaudio
  • 配置 整数
  • 任意の入力
  • 任意の出力
  • オーディオすべてオフ
  • audio all on
  • オーディオがオフのまま
  • オーディオを左に
  • オーディオを右オフにする
  • オーディオを右に
  • bitspersample bit_count
  • bytespersec byte_rate
  • チャネル channel_count
  • ドアが閉じている
  • ドアを開く
  • タグ pcm の書式設定
  • タグタグの書式設定
  • 入力 整数
  • 出力 整数
  • samplespersec 整数
  • 時間形式のバイト数
  • 時間形式のミリ秒
  • 時間形式のサンプル

次の表に、 lpszSetting パラメーターで指定できるフラグとその意味を示します。

説明
配置 整数 波形オーディオ デバイスに渡されるデータの開始を基準として、データ ブロックの配置を設定します。 ファイルは、この形式で保存されます。
任意の入力 記録時に現在の形式をサポートする任意の入力を使用します。 これが既定の設定です。
任意の出力 再生時に現在の形式をサポートする任意の出力を使用します。 既定値です。
でレコードをアセンブルする
レコードを組み立てる
アセンブルモードでは、すべてのトラックがデバイスによって定義されているように記録されます。 ほとんどの VCR は、既定でアセンブル モードになっています。
オーディオすべてオフ
audio all on
オーディオ出力を無効または有効にします。 ビデオ オーバーレイ デバイス、MCISEQ シーケンサー、および MCIWAVE 波形オーディオ デバイスでは、このフラグはサポートされていません。
オーディオがオフのまま
オーディオを左に
オーディオを右オフにする
オーディオを右に
左または右のオーディオ チャネルへの出力を無効または有効にします。 ビデオ オーバーレイ デバイス、MCISEQ シーケンサー、および MCIWAVE 波形オーディオ デバイスでは、このフラグはサポートされていません。
bitspersample bit_count 再生または記録される PCM (パルス コード変調) サンプルあたりのビット数を設定します。 ファイルは、この形式で保存されます。
bytespersec byte_rate 再生または記録された 1 秒あたりの平均バイト数を設定します。 ファイルは、この形式で保存されます。
チャネル channel_count 再生と録音のチャンネルを設定します。 ファイルは、この形式で保存されます。
クロック 時間 外部クロックの時刻を時刻に設定します この形式は、長い符号なし整数として指定されます。
counter 形式 状態 "counter" によって返されるカウンターの時刻形式を設定します。 該当する型の詳細については、 設定 された "時間形式" コマンドを参照してください。
counter 指定した値に VCR カウンターを設定します。 値は、現在のカウンター形式で指定する必要があります。 詳細については、 set "counter format" コマンドを参照してください。
ドアが閉じている トレイを取り消し、可能な場合はドアを閉じます。 VCR の場合は、テープを自動的に読み込みます。
ドアを開く ドアを開き、可能な場合はトレイまたはテープを取り出します。
ファイル形式 の形式 保存またはキャプチャ コマンドに使用するファイル形式を指定します。 省略すると、既定でデバイス ドライバーが定義した形式になる可能性があります。 指定したファイル形式が現在選択されているアルゴリズムと品質と競合する場合、ファイル形式の既定値に変更されます。 次のファイル形式が定義されています。
  • avi: AVI 形式を指定します。
  • avss: AVSS 形式を指定します。
  • dib: DIB 形式を指定します。
  • jfif: JFIF 形式を指定します。
  • jpeg: JPEG 形式を指定します。
  • mpeg: MPEG 形式を指定します。
  • rdib: RLE DIB 形式を指定します。
  • rjpeg: RJPEG 形式を指定します。
タグ pcm の書式設定 再生と記録の形式の種類を PCM に設定します。 ファイルは、この形式で保存されます。
タグタグの書式設定 再生と録音の形式の種類を設定します。 ファイルは、この形式で保存されます。
インデックスのタイムコード
インデックス カウンター
インデックスの日付
インデックス時刻
VCR の現在の表示画面を設定します。
入力 整数 入力として使用するオーディオ チャネルを設定します。
length duration VCR 内のテープのユーザー指定の長さを設定します。 この長さは 、状態 "length" コマンドによって返され、有効な長さを返すためにこのコマンドを必要とするアプリケーションとの互換性のために提供されます。
master midi MIDI シーケンサーを同期ソースとして設定します。 同期データは MIDI 形式で送信されます。 MCISEQ シーケンサーでは、このフラグはサポートされていません。
master none MIDI シーケンサーが同期データを送信できないようにします。 MCISEQ シーケンサーでは、このフラグはサポートされていません。
master smpte MIDI シーケンサーを同期ソースとして設定します。 同期データは、SMPTE (映画テレビ学会) 形式で送信されます。 MCISEQ シーケンサーでは、このフラグはサポートされていません。
オフセット 時間 SMPTE オフセット 時間を設定します。 オフセットは、SMPTE ベースのシーケンスの開始時刻です。 時間hh: mm: ss: ff で表され、hh は時間、mm は分、ss は秒、ff はフレームです。
出力 整数 出力として使用するオーディオ チャネルを設定します。
一時停止 タイムアウト 一時停止コマンドの最大時間 (ミリ秒単位) を設定します。 タイムアウト値が 0 の場合、タイムアウトは発生しません。
postroll duration duration 停止または一時停止コマンドが発行されたときに VCR トランスポートをブレーキするために必要な長さを現在の時刻形式で設定します。
ポート マッパー MIDI マッパーを、MIDI メッセージを受信するポートとして設定します。 MIDI マッパーまたは必要なポートが別のアプリケーションで使用されている場合、このコマンドは失敗します。
ポートなし MIDI メッセージの送信を無効にします。 このコマンドは、MIDI ポートも閉じます。
ポート port_number MIDI メッセージを受信する MIDI ポートを設定します。 開こうとしているポートが別のアプリケーションで使用されている場合、このコマンドは失敗します。
電源オン
電源オフ
デバイスの電源をオンまたはオフに設定します。
プリ ロール期間 VCR 出力を安定させるために必要な長さを現在の時刻形式で設定します。
レコード形式 SP
レコード様式 LP
レコード形式 EP
標準プレイの場合は SP、拡張再生の場合は EP、ロング プレイの場合は LP に、VCR の記録モードを設定します。 これらの値は、VHS 固有のものではありません。 これらは、他のテープ形式で任意の 3 つの適切なモードにマップされます。 たとえば、SP は最も高速で高品質の記録にマップされます。
samplespersec 整数 再生と記録のサンプル レートを設定します。 ファイルは、この形式で保存されます。
正確にシークする
正確にオフにシーク
2 つのシーク モードのいずれかを選択します。 "seekly on" の場合、seek は常に指定されたフレームに移動します。 "seekly off" を使用すると、seek は指定されたフレームより前の最も近いキー フレームに移動します。
スレーブ ファイル ファイル データを同期ソースとして使用するように MIDI シーケンサーを設定します。 これが既定の設定です。
スレーブ midi 同期ソースに着信 MIDI データを使用するように MIDI シーケンサーを設定します。 シーケンサーは、MIDI 形式で同期データを認識します。 MCISEQ シーケンサーでは、このフラグはサポートされていません。
スレーブなし 同期を無視するように MIDI シーケンサーを設定します
スレーブ smpte 同期ソースに着信 MIDI データを使用するように MIDI シーケンサーを設定します。 シーケンサーは、SMPTE 形式の同期データを認識します。 MCISEQ シーケンサーでは、このフラグはサポートされていません。
速度係数 ワークスペースからのビデオとオーディオの再生の相対的な速度を設定します。 係数は、呼び出しフレーム レートと目的のフレーム レートとの比率です。ここで、標準フレーム レートは 1000 として指定されます。 (500 の速度は通常の半分の速度、2000 年は通常の速度の 2 倍などです)。速度をゼロに設定すると、フレームを落とさずに、オーディオなしでビデオをできるだけ速く再生できます。
still ファイル 形式 キャプチャ コマンドに使用するファイル形式を指定します。
テンポtempo_value 現在の時刻形式に従ってシーケンスのテンポを設定します。 PPQN ベースのファイルの場合、tempo_valueは 1 分あたりのビートとして解釈されます。 SMPTE ベースのファイルの場合、tempo_valueは 1 秒あたりのフレーム数として解釈されます。
時間形式のバイト数 PCM ファイル形式で、時刻形式をバイトに設定します。 すべての位置情報は、このコマンドの後にバイトとして指定されます。
タイム フォーマット フレーム 時間形式をフレームに設定します。 位置の値を使用するすべてのコマンドでは、フレームが想定されます。 デバイスを開くと、フレームが既定のモードになります。 CAV 形式を使用したビデオディスクでサポートされます。
時刻形式 hms 時間の形式を時間、分、秒に設定します。 位置の値を使用するすべてのコマンドは、HMS を想定します。 HMS は、CLV ビデオディスクの既定の形式です。 HMS 値を hh:mm:ss として指定します。hh は時間、mm は分、秒は秒です。 フィールドと以下のすべてのフィールドが 0 の場合は、フィールドを省略できます。 たとえば、3、3:0、3:0:0 はすべて、3 時間を表す有効な方法です。
時間形式のミリ秒 時間形式をミリ秒単位に設定します。 位置の値を使用するすべてのコマンドは、ミリ秒を想定します。 ミリ秒を "ms" と略記できます。 シーケンサー デバイスの場合、シーケンス ファイルは既定の形式を PPQN または SMPTE に設定します。 ビデオ オーバーレイ デバイスでは、このフラグはサポートされていません。
時間形式 msf 時間形式を分、秒、フレームに設定します。 位置の値を使用するすべてのコマンドは、MSF (CD オーディオの既定の形式) を前提としています。 MSF 値を mm:ss:ff (mm は分、ss は秒、ff はフレーム) として指定します。 フィールドと以下のすべてのフィールドが 0 の場合は、フィールドを省略できます。 たとえば、3、3:0、3:0:0 は、3 分を表す有効な方法です。
MSF フィールドの最大値は次のとおりです。
  • 分 99
  • 秒 59
  • フレーム 74
時間形式のサンプル 時間形式をサンプルに設定します。 すべての位置情報は、このコマンドの後にサンプルとして指定されます。
時間形式 smpte 24
時間形式 smpte 25
時間形式 smpte 30
時間形式を SMPTE フレーム レートに設定します。 VCR の場合、時間形式を hh:mm:ss:ff に設定します。有効な値は 00:00:00:00 から 23:59:59:xx で、xx はフラグで指定された数値 24、25、または 30 で指定された 1 秒あたりのフレーム数より 1 小さくなります。 入力時にコロン (:)は、コンポーネントを分離するために必要です。 最下位の単位は、00 の場合は省略できます。たとえば、02:00 は 02:00:00:00 と同じです。 位置値を使用するすべてのコマンドは、SMPTE 形式を前提としています。
シーケンス ファイルは、既定の形式を PPQN または SMPTE に設定します。
時間形式 smpte 30 drop 時間形式を SMPTE 30 ドロップ フレーム レートに設定します。 VCR の場合、SMPTE 30 と同じですが、(NTSC フレーム レート 29.97 fps の) 各フレームの記録されたタイムコード位置がリアルタイム (30 fps) に対応するように、特定のタイムコード位置がフォーマットから削除される点が異なります。 ドロップされるタイムコード位置は、1 分ごとに 2 つ、記録されたコンテンツの最初の 9 分です。 たとえば、01:04:59:29 では、次のタイムコード位置は 01:05:00:00 ではなく 01:05:00:02 になります。 位置値を使用するすべてのコマンドは、SMPTE 形式を前提としています。
シーケンス ファイルは、既定の形式を PPQN または SMPTE に設定します。
時間形式の曲ポインター 時刻の形式を曲のポインター (16 番目のノート) に設定します。 位置の値を使用するすべてのコマンドは、曲のポインター単位を前提としています。 このフラグは、一連の除算タイプ PPQN に対してのみ有効です。
time format tmsf 時間形式をトラック、分、秒、フレームに設定します。 位置値を使用するすべてのコマンドは、TMSF を前提とします。 TMSF 値を tt:mm:ss:ff として指定します。tt はトラック、mm は分、ss は秒、ff はフレームです。 フィールドと以下のすべてのフィールドが 0 の場合は、フィールドを省略できます。 たとえば、3、3:0、3:0:0、および 3:0:0:0 はすべてトラック 3 を表す有効な方法です。
TMSF フィールドの最大値は次のとおりです。
  • トラック 99
  • 分 90
  • 秒 59
  • フレーム 74
タイムフォーマットトラック トラックの位置の書式を設定します。 位置の値を使用するすべてのコマンドは、トラックを想定します。
タイム モード カウンター VCR カウンターを使用する位置情報モードを設定します。
時間モードの検出 テープ上のタイムコード情報の検出に基づいて位置情報モードを設定します。 タイムコード情報が検出された場合、時刻の種類は "timecode" に設定されます。それ以外の場合、時刻の種類は "counter" に設定されます。 "検出" は特別なモードです。 ドライバーを開くたびに、新しいテープが挿入されるか、"time mode" コマンドが発行されると、ドライバーはテープで使用可能な現在のタイム モードをチェックし、"time type" を "timecode" または "counter" に設定します。 "時刻の種類" が設定されると、ドライバーは、上記のいずれかの条件が再び発生するまで変更されません。
タイム モードのタイムコード テープで "タイムコード" 情報を使用するように位置情報モードを設定します。
追跡に加えて
追跡マイナス
追跡のリセット
ビデオテープトランスポートの速度を細かく調整します。 ノイズの多い画像が VCR から取得された場合は、"追跡" フラグを使用します。 "追跡プラス" は、トランスポート速度を向上させます。 "追跡マイナス" は、トランスポート速度を低下させます。 "追跡のリセット" は、追跡調整を 0 に返します。
ビデオオフ ビデオ出力を無効にします。
ビデオ ビデオ出力を有効にします。

lpszFlags

"wait"、"notify"、またはその両方を指定できます。 デジタル ビデオおよび VCR デバイスの場合は、"テスト" を指定することもできます。 これらのフラグの詳細については、「 待機、通知、およびテスト フラグ」を参照してください。

戻り値

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

解説

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

  • 配置 (alignment)
  • bitspersample
  • bytespersec
  • channels
  • 書式タグ
  • samplespersec

次のコマンドは、時間形式をミリ秒に設定し、波形オーディオ形式を 8 ビット、モノラル、11 kHz に設定します。

set mysound time format ms bitspersample 8 channels 1 samplespersec 11025

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]

関連項目

MCI

MCI コマンド文字列

キャプチャ

pause

保存

stop