MFCreateSequencerSegmentOffset 函数 (mfidl.h)
创建可用于在排序程序源演示文稿中查找的 PROPVARIANT 。
语法
HRESULT MFCreateSequencerSegmentOffset(
[in] MFSequencerElementId dwId,
[in] MFTIME hnsOffset,
[out] PROPVARIANT *pvarSegmentOffset
);
参数
[in] dwId
Sequencer 元素标识符。 此值指定要开始播放的段。 元素标识符在 IMFSequencerSource::AppendTopology 方法中返回。
[in] hnsOffset
段内的起始位置(以 100 纳秒为单位)。
[out] pvarSegmentOffset
指向 PROPVARIANT 的指针。 方法在 PROPVARIANT 中填充执行查找操作所需的信息。 调用方必须通过调用 PropVariantClear 释放 PROPVARIANT。
返回值
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
pvarSegmentOffset 中返回的 PROPVARIANT 可用于 IMFMediaSession::Start 方法中的 pvarStartPosition 参数。 使用时间格式 GUID MF_TIME_FORMAT_SEGMENT_OFFSET。
示例
// Skips to the specified segment in the sequencer source
HRESULT CPlaylist::SkipTo(DWORD index)
{
if (index >= m_count)
{
return E_INVALIDARG;
}
MFSequencerElementId ID = m_segments[index].SegmentID;
PROPVARIANT var;
HRESULT hr = MFCreateSequencerSegmentOffset(ID, NULL, &var);
if (SUCCEEDED(hr))
{
hr = m_pSession->Start(&MF_TIME_FORMAT_SEGMENT_OFFSET, &var);
PropVariantClear(&var);
}
return hr;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mf.lib |
DLL | Mf.dll |