seek コマンド

seek コマンドは、指定した位置に移動して停止します。 CD オーディオ、デジタル ビデオ、MIDI シーケンサー、VCR、videodisc、波形オーディオ デバイスは、このコマンドを認識します。

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

_stprintf_s(
  lpszCommand, 
  TEXT("seek %s %s %s"), 
  lpszDeviceID, 
  lpszSeekFlags, 
  lpszFlags
); 

パラメーター

lpszDeviceID

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

lpszSeekFlags

指定した位置に移動するためのフラグ。 次の表に、 seek コマンドと各種類で使用されるフラグを認識するデバイスの種類を示します。

説明 説明
cdaudio 終了位置から位置まで 開始する
digitalvideo 終了位置から位置まで 開始する
sequencer 終了位置から位置まで 開始する
ビデオデッキ 時刻マークmark_num反転 終了位置から開始 位置まで
videodisc 逆方向から末尾へ を開始する 位置に移動する
waveaudio 終了位置から位置まで 開始する

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

説明
時刻 デバイスでこのコマンドの実行を開始するタイミングを示します。または、cued コマンドの開始時にデバイスが実行されている場合は を示します。 詳細については、 cue コマンドを参照してください。
mark mark_num mark_numによって示される相対マークをシークします。これは正の整数値である必要があります。 マークは、 mark コマンドを使用して VCR テープに書き込まれた信号であり、高速検索に使用されます。
reverse VDR と CAV ビデオディスクのシーク方向が後方にあることを示します。 "to" フラグが指定されている場合、このフラグは無効です。 VCR の場合、このフラグは "mark" フラグと共に使用する必要があります。
to end コンテンツの最後までシークします。
を位置に移動する シークを停止する位置を指定します。 cdaudio デバイスの場合、指定した位置がディスクの長さを超える場合、MCI は範囲外のエラーを返します。
開始する コンテンツの開始をシークします。

lpszFlags

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

戻り値

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

解説

位置値を使用するコマンドを発行する前に、set コマンドを使用して目的の時刻形式を 設定 する必要があります。

デジタル ビデオ デバイスでは、 set コマンドを使用して変更できる 2 つのシーク モードがサポートされています。 "seek exactly on" モードでは、seek コマンドが指定されたフレームに移動します。 "seekly off" モードでは、seek コマンドは、指定されたフレームより前の最も近いキー フレームに移動します。

seek コマンドが発行されたときに CD オーディオ デバイスが再生されている場合、再生は停止します。 seek コマンドが videodisc デバイスで発行されると、デバイスはビデオとオーディオをオフにして、早送りまたは高速反転を使用して検索します。

seek コマンドが波形オーディオ デバイスと共に発行される場合、動作はサンプル サイズによって異なります。 サンプル サイズが 16 ビット以上の場合、シークは、指定した位置がサンプルの開始位置と一致しない場合に、最も近いサンプルの先頭に移動します。

次のコマンドは、"mysound" デバイスに関連付けられているメディア ファイルの先頭をシークします。

seek mysound to start

要件

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

関連項目

Mci

MCI コマンド文字列

キュー

mark

set