imDSPDeviceControl::Seek 方法 (mswmdm.h)
Seek 方法将查找到 Play 或 Record 方法用作起点的位置。
语法
HRESULT Seek(
[in] UINT fuMode,
[in] int nOffset
);
参数
[in] fuMode
正在执行的查找操作的模式。 fuMode 参数必须是以下模式之一。
“模式” | 说明 |
---|---|
MDSP_SEEK_BOF | 在文件开头之后查找 nOffset 单位的位置。 |
MDSP_SEEK_CUR | 从当前位置查找为 nOffset 单位的位置。 |
MDSP_SEEK_EOF | 在文件末尾之前查找 nOffset 单位的位置。 |
[in] nOffset
查找操作将起始位置从 fuMode 指定的原点移开的单位数。 nOffset 的单位由内容定义。 对于音乐,它们可以是毫秒,也可以是电子书籍的页面等。
nOffset 的正值表示通过文件向前查找。 负值表示通过文件向后查找。 nOffset 和 fuMode 的任意组合,指示在文件开头之前或文件结尾之后查找某个位置都无效,并导致方法返回E_INVALIDARG。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
一个或多个参数无效。 |
|
此设备上未实现 Seek。 |
|
发生了未指定的错误。 |
注解
通过传递指向设备存储介质上位置的 IWMDMStorage 接口或已实现以支持流音频的 IWMDMOperation 接口来定义搜寻位置。 还可以传递 IMDSPObjectInfo 接口来描述指定接口指向的对象中的某个点。
对于设备播放,如果在播放之前未调用 Seek,则播放将从媒体设备上的第一个存储介质上的第一个音频轨开始播放。
对于设备录制,如果在 Record 之前未调用 Seek,则记录操作将失败。 调用 Record 方法后,对 IMDSPObjectInfo::GetLastPlayPosition 方法的后续调用将随时报告总播放长度,并等于 从 IMDSPObjectInfo::GetTotalLength 返回的值。 从 Seek 调用返回后,可以通过调用 IMDSPObjectInfo::SetPlayLength 方法来限制录制长度。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |