seek コマンドは、デバイスの再生(演奏)位置を変更して停止します。CDオーディオ、デジタルビデオ、MIDIシーケンサ、VCR、ビデオディスク、ウェーブ形式オーディオの各デバイスがこのコマンドを認識します。
このコマンドを送信するには、 mciSendString 関数を使います。
seek device seekflag flag
MCIデバイスの識別子を指定します。この識別名またはエイリアスは、デバイスがオープンされるときに割り当てられます。
デバイス再生のためのフラグを記述します。以下に指定可能なパラメータと、パラメータを認識することのできるデバイスタイプを示します。
パラメータ | 意味 | デバイス |
---|---|---|
at time |
いつこのコマンドを実行するのか、または、 cue コマンドによりすでに再生の準備がなされている場合には、いつそのコマンドを実行するのかを指定します。 |
vcr |
mark mark_num |
mark_num で指定される相対的な指標までシークします。この値は正の数でなければいけません。指標は、 mark コマンドを用いてVCRテープに書き込まれた信号で、高速な検索に使用されます。 |
vcr |
reverse |
VCRおよびCAVビデオディスクでのシーク方向が逆向きであることを指定します。“to”フラグが指定されている場合には、このフラグは無効です。VCRでは、このフラグを“mark”フラグとともに指定する必要があります |
vcr videodisc |
to end |
内容の終端へシークします。 |
cdaudio digitalvideo sequencer vcr videodisc waveaudio |
to start |
内容の最初へシークします。 |
cdaudio digitalvideo sequencer vcr videodisc waveaudio |
to position |
シークを停止する位置を指定します。 cdaudio デバイスでは、再生終了位置としてディスクの末尾よりも後ろを指定した場合には、エラーが返ります。 |
cdaudio digitalvideo sequencer vcr videodisc waveaudio |
何も記述しないか、“wait”、“notify”のいずれか、またはこの両方を記述します。デジタルビデオおよびVCRデバイスでは、“test”を記述することもできます。
パラメータ | 意味 |
---|---|
wait |
アプリケーションに制御を返す前に、要求された指示を完了するまで待機します。 |
notify |
デバイスが作業を完了したときに、ウィンドウに MM_MCINOTIFY メッセージをポストします。 |
test |
デバイスがコマンドを実行することができるかどうかを判定します。コマンドは実際に実行されません。デバイスがコマンドを処理できない場合にはエラーが返ります。デジタルビデオおよびVCRデバイスでのみ指定できます。 |
成功すると 0 が返ります。
失敗するとエラーコードが返ります。
位置を指定してコマンドを送信する前に、 set コマンドを使用してタイムフォーマット(時間の表現形式)を指定しておくべきです。
デジタルビデオデバイスは2種類のシークモードをサポートしており、 set コマンドで変更することができます。“seek exactly on”モードでは、シークコマンドが指定されたフレームへ移動させるようにします。“seek exactly off”モードでは、指定されたフレームより前にある最も近いキーフレームへと移動させるようにします。
CDオーディオデバイスでは、 seek コマンドが送信されたときに演奏している場合には、再生が停止されます。ビデオディスクデバイスでは、ビデオおよびサウンドが停止し、早送りまたは巻き戻しによって検索を行ないます。
ウェーブ形式デバイスで seek コマンドを使用した場合、その振る舞いはサンプリングサイズに依存します。サンプリングサイズが16ビット以上であるとき、指定された位置がサンプリングの開始点と一致しない場合には、最も近いサンプリング開始点に移動します。
Windows 95 以降 / Windows NT 3.1 以降