Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture 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 Audio/Video Capture 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étodo IMediaParamInfo::GetParamInfo retorna uma estrutura MP_PARAMINFO que descreve um parâmetro. Essa 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 inteiro, valor de ponto flutuante, booliano ou enumeração (série inteiro).
- O membro do mopCaps indica quais curvas esse parâmetro dá suporte. Se o tipo de dados for booliano ou enumeração, a única curva que o parâmetro pode dar suporte será "Jump".
- Os membros mpdMinValue e mpdMaxValue definem os valores mínimo e máximo para esse parâmetro. Todas as curvas para esse parâmetro devem se enquadrar nesse intervalo.
- O membro mpdNeutralValue é o valor padrão do parâmetro.
- O membro szLabel é o nome do parâmetro e o membro szUnitText é o nome da unidade de medida do parâmetro. 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 por meio do métodoIMediaParamInfo::GetParamText.
As informações de cada parâmetro permanecem fixas durante todo o tempo de vida do DMO. Portanto, o cliente pode consultar essas informações uma vez e, em seguida, armazená-la em cache.
de formatos de tempo
O cliente deve carimbo de data/hora dos dados de entrada, para que o DMO possa calcular os valores de parâmetro correspondentes. Por padrão, os carimbos de data/hora representam unidades de 100 nanossegundos, também chamados tempo de referência. No entanto, essa unidade de hora não é conveniente para cada aplicativo, portanto, um DMO tem uma opção para dar suporte a outros formatos de tempo. Os formatos de tempo são identificados pelo GUID.
| guid do | Descrição |
|---|---|
| GUID_TIME_REFERENCE | Hora de referência |
| GUID_TIME_MUSIC | Nota de partes por trimestre (PPQN) |
| GUID_TIME_SAMPLES | Exemplos por segundo |
Terceiros são incentivados a definir seus próprios formatos de tempo, conforme necessário. No entanto, todos os DMOs devem dar suporte ao tempo de referência. Isso fornece uma linha de base padrão que todos podem usar. Para determinar quantos formatos de tempo um DMO dá suporte, chame o métodoIMediaParamInfo::GetNumTimeFormats. Para enumerar os formatos com suporte, chame o método IMediaParamInfo::GetSupportedTimeFormat.
Para definir o formato de hora, chame IMediaParams::SetTimeFormat. Esse método especifica o GUID de formato de hora e os dados de tempo , que é o número de unidades por tique de relógio. Por exemplo, se o formato de hora for exemplos por segundo e os dados de tempo forem 32, um valor de carimbo de data/hora de 10 corresponderá a 320 amostras.
Tópicos relacionados