Interface IMediaDet
[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.]
Observação
[Preterido. Essa API pode ser removida de versões futuras do Windows.]
A IMediaDet
interface recupera informações sobre um arquivo de mídia, como o número de fluxos e o tipo de mídia, duração e taxa de quadros de cada fluxo. Ele também contém métodos para recuperar quadros individuais de um fluxo de vídeo. O objeto Media Detector (MediaDet) expõe essa interface.
Para obter informações sobre um arquivo usando essa interface, execute as seguintes etapas:
- Crie uma instância do objeto MediaDet chamando CoCreateInstance. A ID da classe é CLSID_MediaDet.
- Chame IMediaDet::p ut_Filename para especificar o nome do arquivo de origem.
- Chame IMediaDet::get_OutputStreams para obter o número de fluxos de saída na origem.
- Chame IMediaDet::p ut_CurrentStream para especificar um fluxo específico.
- Chame qualquer um dos seguintes métodos:
Para recuperar um quadro de vídeo, chame IMediaDet::GetBitmapBits ou IMediaDet::WriteBitmapBits. O quadro retornado está sempre no formato RGB de 24 bits.
Observação
Não use o mesmo objeto MediaDet com vários arquivos. Para obter informações ou quadros de vídeo de mais de um arquivo, use instâncias separadas do MediaDet.
A interface IMediaDet não dá suporte a formatos VIDEOINFOHEADER2 , portanto, você não pode usar essa interface para obter campos entrelaçados ou informações sobre interlacagem. Além disso, se o decodificador upstream der suporte apenas a VIDEOINFOHEADER2, você não poderá usar IMediaDet
. Esse pode ser o caso de um decodificador MPEG-2, por exemplo. Além disso, a IMediaDet
interface ignora todos os fluxos no arquivo que não são vídeo ou áudio. Por exemplo, se o arquivo contiver um fluxo de áudio, um fluxo de dados e um fluxo de vídeo, o método get_OutputStreams relatará apenas dois fluxos (áudio e vídeo).
Membros
A interface IMediaDet herda da interface IUnknown . O IMediaDet também tem estes tipos de membros:
Métodos
A interface IMediaDet tem esses métodos.
Método | Descrição |
---|---|
EnterBitmapGrabMode | Alterna o detector de mídia para o modo de captura de bitmap e busca o grafo de filtro para um horário especificado. |
get_CurrentStream | Recupera o número de fluxo usado atualmente pelo detector de mídia. |
get_Filename | Recupera o nome do arquivo de origem usado atualmente pelo detector de mídia. |
get_Filter | Recupera um ponteiro para o filtro de origem usado atualmente pelo detector de mídia. |
get_FrameRate | Recupera a taxa de quadros do fluxo atual. |
get_OutputStreams | Recupera o número de fluxos de áudio e vídeo contidos na fonte de mídia. |
get_StreamLength | Recupera a duração do fluxo atual. |
get_StreamMediaType | Recupera o tipo de mídia do fluxo atual. |
get_StreamType | Recupera o GUID (identificador global exclusivo) para o tipo de mídia do fluxo atual. |
get_StreamTypeB | Recupera uma cadeia de caracteres que representa o GUID do tipo de mídia para o fluxo atual. |
GetBitmapBits | Recupera um quadro de vídeo no tempo de mídia especificado. |
GetSampleGrabber | Recupera um ponteiro para a interface ISampleGrabber . |
put_CurrentStream | Especifica o número de fluxo para o detector de mídia a ser usado. |
put_Filename | Especifica o nome do arquivo de origem para o detector de mídia a ser usado. |
put_Filter | Especifica um filtro de origem para o detector de mídia a ser usado. |
WriteBitmapBits | Recupera um quadro de vídeo no tempo de mídia especificado e o grava em um arquivo. |
Comentários
Observação
O arquivo de cabeçalho Qedit.h não é compatível com cabeçalhos Direct3D posteriores à versão 7.
Observação
Para obter qedit.h, baixe o SDK do Microsoft Windows Update para Windows Vista e .NET Framework 3.0. O Qedit.h não está disponível no SDK do Microsoft Windows para Windows 7 e .NET Framework 3.5 Service Pack 1.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|