Pegando um quadro de pôster

[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.]

[Não há suporte para essa API e pode ser alterada ou indisponível no futuro.]

Este artigo descreve como exibir um quadro de pôster de um arquivo de mídia digital, usando o objeto Media Detector (MediaDet) fornecido com o DirectShow Editing Services.

O Detector de Mídia é um objeto auxiliar que pode obter informações de formato de um arquivo de origem de mídia. Ele também pode capturar uma imagem de bitmap de um fluxo de vídeo no arquivo de origem. Supondo que o arquivo seja buscado, você pode obter a imagem de qualquer ponto no arquivo. A imagem retornada está sempre no formato RGB de 24 bits.

O Detector de Mídia não é um filtro e o aplicativo não precisa usar o Gerenciador de Grafo de Filtro ou criar um grafo de filtro. Internamente, o Detector de Mídia cria um grafo de filtro que contém o Filtro de Captura de Exemplo. Para obter um bitmap, o Detector de Mídia procura e pausa o grafo de filtro e, em seguida, recupera o bitmap do filtro De exemplo grabber. O aplicativo se comunica com o Detector de Mídia por meio da interface IMediaDet . O Detector de Mídia é um bom exemplo de encapsulamento de um grafo de filtro dentro de um objeto auxiliar, a fim de proteger aplicativos de detalhes relacionados ao grafo.

O Detector de Mídia opera em dois modos. Quando você o cria pela primeira vez, o Detector de Mídia está no modo de "coleta de informações". Você pode especificar o nome de um arquivo de mídia e obter informações sobre cada um dos fluxos no arquivo, como o tipo de formato, a taxa de quadros ou a duração. Se o arquivo contiver um fluxo de vídeo, você poderá alternar o Detector de Mídia para o modo "captura de bitmap" e recuperar bitmaps da origem. No entanto, depois de fazer isso, você não poderá alternar o Detector de Mídia de volta para o modo original; ele é permanentemente anexado a esse fluxo de vídeo. Para trabalhar com outro fluxo ou outro arquivo, você deve criar uma nova instância do Detector de Mídia.

Observação

Os exemplos de código neste tutorial usam a classe CComPtr da ATL, que gerencia automaticamente as contagens de referência. Se você preferir usar ponteiros de interface brutos, lembre-se de liberar todas as interfaces quando terminar de usá-la. Além disso, para resumir, os exemplos de código omitem grande parte da verificação de erros que um aplicativo deve executar. No código de trabalho, sempre marcar valores HRESULT.

 

Este tutorial contém as seguintes etapas:

Usando o DirectShow Editing Services