Função MFCreateSequencerSegmentOffset (mfidl.h)
Cria um PROPVARIANT que pode ser usado para buscar dentro de uma apresentação de origem do sequenciador.
Sintaxe
HRESULT MFCreateSequencerSegmentOffset(
[in] MFSequencerElementId dwId,
[in] MFTIME hnsOffset,
[out] PROPVARIANT *pvarSegmentOffset
);
Parâmetros
[in] dwId
Identificador de elemento sequencer. Esse valor especifica o segmento no qual iniciar a reprodução. O identificador de elemento é retornado no método IMFSequencerSource::AppendTopology .
[in] hnsOffset
Posição inicial dentro do segmento, em unidades de 100 nanossegundos.
[out] pvarSegmentOffset
Ponteiro para um PROPVARIANT. O método preenche o PROPVARIANT com as informações necessárias para executar uma operação de busca. O chamador deve liberar o PROPVARIANT chamando PropVariantClear.
Retornar valor
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
O PROPVARIANT retornado em pvarSegmentOffset pode ser usado para o parâmetro pvarStartPosition no método IMFMediaSession::Start . Use a MF_TIME_FORMAT_SEGMENT_OFFSET guid de formato de hora.
Exemplos
// 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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | mfidl.h |
Biblioteca | Mf.lib |
DLL | Mf.dll |