共用方式為


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
程式庫 Mf.lib
Dll Mf.dll

另請參閱

MFTIME

媒體基礎函式

Sequencer 來源

使用 Sequencer 來源