Compartilhar via


Interface IMediaPosition (control.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A interface IMediaPosition contém métodos para buscar uma posição dentro de um fluxo.

Nota Os aplicativos devem usar IMediaSeeking em vez de IMediaPosition.
 

Essa interface é exposta pelo Gerenciador de Grafo de Filtro, bem como por filtros individuais. Os aplicativos devem obter um ponteiro de interface IMediaPosition do Gerenciador de Grafo de Filtro, não de um filtro. O Gerenciador de Grafo de Filtro distribui chamadas de método para todos os filtros do renderizador. Os filtros do renderizador propagam as chamadas upstream para os filtros de origem. Essa sequência de eventos garante que todos os fluxos permaneçam sincronizados.

Se uma das chamadas distribuídas retornar um erro, o Gerenciador de Grafo de Filtro retornará o primeiro valor de erro recebido. Algumas das chamadas distribuídas podem ter sido bem-sucedidas nesse caso. No entanto, o grafo de filtro não retorna E_NOTIMPL a menos que todas as chamadas distribuídas retornem E_NOTIMPL. Se pelo menos um filtro no grafo implementar o método , o Gerenciador de Grafo de Filtro não retornará E_NOTIMPL.

Herança

A interface IMediaPosition herda da interface IDispatch . IMediaPosition também tem estes tipos de membros:

Métodos

A interface IMediaPosition tem esses métodos.

 
IMediaPosition::CanSeekBackward

O método CanSeekBackward determina se o grafo de filtro pode buscar para trás no fluxo.
IMediaPosition::CanSeekForward

O método CanSeekForward determina se o grafo de filtro pode ser encaminhado no fluxo.
IMediaPosition::get_CurrentPosition

O método get_CurrentPosition recupera a posição atual, em relação à duração total do fluxo.
IMediaPosition::get_Duration

O método get_Duration recupera a duração do fluxo.
IMediaPosition::get_PrerollTime

O método get_PrerollTime recupera a quantidade de dados que serão enfileirados antes da posição inicial.
IMediaPosition::get_Rate

O método get_Rate recupera a taxa de reprodução.
IMediaPosition::get_StopTime

O método get_StopTime recupera o tempo em que a reprodução será interrompida, em relação à duração do fluxo.
IMediaPosition::p ut_CurrentPosition

O método put_CurrentPosition define a posição atual, em relação à duração total do fluxo.
IMediaPosition::p ut_PrerollTime

O método put_PrerollTime define a quantidade de dados que serão enfileirados antes da posição inicial.
IMediaPosition::p ut_Rate

O método put_Rate define a taxa de reprodução.
IMediaPosition::p ut_StopTime

O método put_StopTime define o tempo em que a reprodução será interrompida, em relação à duração do fluxo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho control.h (inclua Dshow.h)

Confira também

IDispatch