Función MFCreateSequencerSegmentOffset (mfidl.h)
Crea un PROPVARIANT que se puede usar para buscar dentro de una presentación de origen del secuenciador.
Sintaxis
HRESULT MFCreateSequencerSegmentOffset(
[in] MFSequencerElementId dwId,
[in] MFTIME hnsOffset,
[out] PROPVARIANT *pvarSegmentOffset
);
Parámetros
[in] dwId
Identificador del elemento Sequencer. Este valor especifica el segmento en el que se va a iniciar la reproducción. El identificador de elemento se devuelve en el método IMFSequencerSource::AppendTopology .
[in] hnsOffset
Posición inicial dentro del segmento, en unidades de 100 nanosegundos.
[out] pvarSegmentOffset
Puntero a un PROPVARIANT. El método rellena el PROPVARIANT con la información necesaria para realizar una operación de búsqueda. El autor de la llamada debe liberar el PROPVARIANT llamando a PropVariantClear.
Valor devuelto
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
El PROPVARIANT devuelto en pvarSegmentOffset se puede usar para el parámetro pvarStartPosition en el método IMFMediaSession::Start . Use el GUID de formato de hora MF_TIME_FORMAT_SEGMENT_OFFSET.
Ejemplos
// 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 | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mfidl.h |
Library | Mf.lib |
Archivo DLL | Mf.dll |