Compartilhar via


Interface IMediaSeeking (strmif.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 IMediaSeeking interface contém métodos para buscar uma posição dentro de um fluxo e para definir a taxa de reprodução. O Gerenciador de Grafo de Filtro expõe essa interface, assim como filtros ou pinos individuais. Os aplicativos devem consultar o Gerenciador de Grafo de Filtro para a interface.

O Gerenciador de Grafo de Filtro distribui qualquer IMediaSeeking chamada para cada um dos filtros do renderizador no grafo. Os filtros do renderizador enviam a chamada upstream para os filtros de origem. Essa sequência de eventos garante que todos os fluxos permaneçam sincronizados. Se qualquer uma das chamadas distribuídas retornar um erro, o Gerenciador de Grafo de Filtro retornará o primeiro valor de erro recebido, mesmo que algumas das chamadas distribuídas tenham êxito. Uma exceção é E_NOTIMPL: o Gerenciador de Grafo de Filtro não retorna E_NOTIMPL a menos que tenha sido retornado por todas as chamadas distribuídas.

Um aplicativo pode buscar o grafo enquanto o grafo estiver em qualquer estado (em execução, pausado ou interrompido). Se o grafo estiver em execução, o Gerenciador do Grafo de Filtro pausará o grafo antes de emitir o comando seek. Em seguida, ele executa o grafo novamente. Todas as operações de busca são independentes da taxa de reprodução atual. A busca de operações faz com que todos os dados de mídia pendentes sejam liberados do grafo.

Para todos os IMediaSeeking parâmetros que especificam tempo, a unidade de tempo depende do formato de hora atual. Para definir o formato de hora, chame o método IMediaSeeking::SetTimeFormat . Os formatos de tempo são GUIDs (identificadores globalmente exclusivos) definidos em uuids.h. Para obter mais informações, consulte GUIDs de formato de tempo.

Herança

A interface IMediaSeeking herda da interface IUnknown . IMediaSeeking também tem esses tipos de membros:

Métodos

A interface IMediaSeeking tem esses métodos.

 
IMediaSeeking::CheckCapabilities

O método CheckCapabilities consulta se um fluxo especificou a busca de recursos.
IMediaSeeking::ConvertTimeFormat

O método ConvertTimeFormat converte de um formato de vez em outro.
IMediaSeeking::GetAvailable

O método GetAvailable recupera o intervalo de vezes em que a busca é eficiente.
IMediaSeeking::GetCapabilities

O método GetCapabilities recupera todos os recursos de busca do fluxo.
IMediaSeeking::GetCurrentPosition

O método GetCurrentPosition recupera a posição atual em relação à duração total do fluxo.
IMediaSeeking::GetDuration

O método GetDuration obtém a duração do fluxo.
IMediaSeeking::GetPositions

O método GetPositions recupera a posição atual e a posição de parada, em relação à duração total do fluxo.
IMediaSeeking::GetPreroll

O método GetPreroll recupera a quantidade de dados que serão enfileirados antes da posição inicial.
IMediaSeeking::GetRate

O método GetRate recupera a taxa de reprodução.
IMediaSeeking::GetStopPosition

O método GetStopPosition recupera a hora em que a reprodução será interrompida, em relação à duração do fluxo.
IMediaSeeking::GetTimeFormat

O método GetTimeFormat recupera o formato de tempo que está sendo usado atualmente para operações de busca.
IMediaSeeking::IsFormatSupported

O método IsFormatSupported determina se há suporte para um formato de tempo especificado para operações de busca.
IMediaSeeking::IsUsingTimeFormat

O método IsUsingTimeFormat determina se as operações de busca estão atualmente usando um formato de tempo especificado.
IMediaSeeking::QueryPreferredFormat

O método QueryPreferredFormat recupera o formato de tempo preferencial para busca.
IMediaSeeking::SetPositions

O método SetPositions define a posição atual e a posição de parada.
IMediaSeeking::SetRate

O método SetRate define a taxa de reprodução.
IMediaSeeking::SetTimeFormat

O método SetTimeFormat define o formato de tempo para operações de busca subsequentes.

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 strmif.h (inclua Dshow.h)

Confira também

Buscando o grafo de filtro