Compartilhar via


Interface IAMStreamControl (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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 IAMStreamControl interface controla fluxos individuais em um filtro. Os pinos em alguns filtros expõem essa interface. Por exemplo, o Filtro AVI Mux dá suporte a essa interface em seus pinos de entrada, e o Filtro de Captura de Áudio e o Filtro de Captura de Vídeo WDM dão suporte a ele em seus pinos de saída.

Essa interface permite que um aplicativo ative e desative os fluxos em horários especificados. Por exemplo, um aplicativo pode desativar um fluxo de áudio para ativar o mudo do áudio durante a visualização de vídeo. Os aplicativos de captura podem usar essa interface para especificar os horários exatos de início e parada para captura e controlar fluxos de captura e visualização independentemente uns dos outros.

Para usar essa interface, chame o método IAMStreamControl::StartAt para especificar quando o pin começará a fornecer dados e o método IAMStreamControl::StopAt para especificar quando ele deixará de fornecer dados. Em seguida, chame IMediaControl::Run no Gerenciador de Grafo de Filtro para executar o grafo de filtro. Todas as vezes são relativas a quando o grafo começa a ser executado.

Ao usar essa interface, lembre-se das seguintes limitações:

  • Deve haver um relógio de referência no grafo de filtro.
  • Os pinos de visualização em cartões de captura com sobreposição de hardware não dão suporte a essa interface.
  • Se você estiver capturando áudio e vídeo em um arquivo AVI intercalado, o filtro AVI Mux exigirá os dois fluxos de dados. Se você parar um fluxo, o filtro não poderá intercalar os dados. Para obter mais informações, consulte Interface IConfigInterleaving.
Dependendo do aplicativo, você pode achar o método ICaptureGraphBuilder2::ControlStream mais conveniente, pois ele dá suporte ao controle de fluxo no nível do grafo, para que você não precise enumerar filtros e pinos individuais.

Filtrar desenvolvedores: a classe base CBaseStreamControl implementa essa interface.

Herança

A interface IAMStreamControl herda da interface IUnknown . IAMStreamControl também tem estes tipos de membros:

Métodos

A interface IAMStreamControl tem esses métodos.

 
IAMStreamControl::GetInfo

O método GetInfo recupera informações sobre as configurações atuais de controle de fluxo, incluindo os horários de início e parada.
IAMStreamControl::StartAt

O método StartAt informa ao pino quando começar a fornecer dados.
IAMStreamControl::StopAt

O método StopAt informa ao pino quando parar de fornecer dados.

Requisitos

   
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

Classe CBaseStreamControl

Códigos de erro e êxito