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 参数中指定的标志及其含义。

含义
时间 指示设备应何时开始执行此命令;如果设备已被提示,则指示何时开始执行提示命令。 有关详细信息,请参阅 提示 命令。
标记 mark_num 查找 mark_num指示的相对标记,该标记必须是正整数值。 标记是使用 mark 命令写入 VCR 磁带的信号,用于高速搜索。
reverse 指示 VCR 和 CAV 视频磁盘上的查找方向向后。 如果指定了“to”标志,则此标志无效。 对于 VCR,此标志必须与“标记”标志一起使用。
to end 查找到内容的末尾。
位置 指定停止搜寻的位置。 对于 cdaudio 设备,如果指定位置大于光盘的长度,MCI 将返回超出范围的错误。
开始 查找内容的开头。

lpszFlags

可以是“等待”、“通知”或两者。 对于数字视频和 VCR 设备,还可以指定“测试”。 有关这些标志的详细信息,请参阅 等待、通知和测试标志

返回值

如果成功,则返回零,否则返回错误。

备注

在发出任何使用位置值的命令之前,应使用 set 命令设置所需的时间格式。

数字视频设备支持两种搜寻模式,你可以使用 set 命令进行更改。 “精确寻道”模式会导致 seek 命令移动到指定的帧。 “完全关闭搜寻”模式会导致 seek 命令移动到指定帧之前最近的关键帧。

如果在发出 seek 命令时播放 CD 音频设备,播放将停止。 当通过 videodisc 设备发出 seek 命令时,设备使用快进或快速反向搜索,并关闭视频和音频。

当波形音频设备发出 seek 命令时,行为取决于样本大小。 如果样本大小为 16 位或更大,则当指定位置与样本起点不一致时,查找将移动到最近的样本的开头。

示例

以下命令查找与“mysound”设备关联的媒体文件的开头。

seek mysound to start

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]

另请参阅

Mci

MCI 命令字符串

提示

mark

set