Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]
O métodoIMediaParamInfo::GetParamInfo retorna uma estrutura MP_PARAMINFO que descreve um parâmetro. Esta estrutura contém as seguintes informações:
- O membro mpType indica o tipo de dados do valor do parâmetro. Para eficiência, todos os parâmetros são implementados como valores de ponto flutuante de 32 bits. A enumeração MP_TYPE define se o valor deve ser interpretado como um valor inteiro, de ponto flutuante, booleano ou enumeração (série inteira).
- A membro mopCaps indica quais curvas esse parâmetro suporta. Se o tipo de dados for booleano ou enumeração, a única curva que o parâmetro pode suportar é "Jump".
- Os membros mpdMinValue e mpdMaxValue definem os valores mínimo e máximo para esse parâmetro. Quaisquer curvas para este parâmetro devem estar dentro deste intervalo.
- O membro mpdNeutralValue é o valor padrão do parâmetro.
- O szLabel member é o nome do parâmetro e o szUnitText member é o nome da unidade de medida para o parâmetro. Os exemplos podem incluir "Volume" e "Decibéis" ou "Frequência" e "kHz". Ambas as cadeias de caracteres são em inglês e nunca são localizadas. O DMO pode fornecer versões localizadas através do método IMediaParamInfo::GetParamText.
As informações para cada parâmetro permanecem fixas durante toda a vida útil do DMO. Portanto, o cliente pode consultar essas informações uma vez e, em seguida, armazená-las em cache.
Formatos de Tempo
O cliente deve carimbo de data/hora dos dados de entrada, para que o DMO possa calcular os valores de parâmetros correspondentes. Por padrão, os carimbos de data/hora representam unidades de 100 nanossegundos, também chamadas de de tempo de referência. Esta unidade de tempo não é conveniente para todas as aplicações, no entanto, um DMO tem uma opção para suportar outros formatos de tempo. Os formatos de hora são identificados pelo GUID.
| GUID | Descrição |
|---|---|
| GUID_TIME_REFERENCE | Hora de referência |
| GUID_TIME_MUSIC | Peças por nota trimestral (PPQN) |
| GUID_TIME_SAMPLES | Amostras por segundo |
Os terceiros são encorajados a definir os seus próprios formatos de tempo, conforme necessário. No entanto, todos os DMOs devem suportar o tempo de referência. Isso fornece uma linha de base padrão que todos podem usar. Para determinar quantos formatos de tempo um DMO suporta, chame o IMediaParamInfo::GetNumTimeFormats método. Para enumerar os formatos suportados, chame o IMediaParamInfo::GetSupportedTimeFormat método.
Para definir o formato de hora, chame IMediaParams::SetTimeFormat. Este método especifica o GUID do formato de hora e os dados de tempo , que é o número de unidades por tick de relógio. Por exemplo, se o formato de hora for amostras por segundo e os dados de hora forem 32, um valor de carimbo de data/hora de 10 corresponderá a 320 amostras.
Tópicos relacionados