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.]
Uma curva de parâmetros consiste em um ou mais segmentos de envelope, definidos usando a estrutura MP_ENVELOPE_SEGMENT. Esta estrutura contém as seguintes informações:
- Os horários de início e fim.
- Os valores inicial e final.
- O tipo de curva (linear, quadrada, e assim por diante).
- Sinalizadores opcionais, descritos em breve.
O cliente adiciona segmentos de envelope a um parâmetro chamando o métodoIMediaParams::AddEnvelopee passando uma matriz de estruturas MP_ENVELOPE_SEGMENT. O cliente deve classificar os segmentos em ordem de tempo crescente antes de chamar o método. À medida que o DMO processa dados, você pode imaginar o parâmetro viajando sobre cada segmento de envelope, como um carro dirigindo sobre uma série de colinas. O métodoIMediaParams::GetParam retorna o valor mais recente.
Dois segmentos adjacentes podem ter uma lacuna entre eles. Durante as lacunas, o parâmetro mantém seu valor anterior, da seguinte forma:
- Antes do primeiro segmento, o valor é o valor neutro.
- Entre segmentos, o valor é o valor final do segmento anterior.
- Após o último segmento, o valor permanece no valor final desse segmento.
- Se o cliente liberar o DMO, o valor será revertido para o valor neutro.
Você pode alterar um segmento definindo um dos seguintes sinalizadores:
- MPF_ENVLP_BEGIN_CURRENTVAL. O DMO usa o valor mais recente do parâmetro como o valor inicial para o segmento. Pode ser o valor neutro ou o valor final do segmento anterior. O DMO ignora o valStart membro da estrutura MP_ENVELOPE_SEGMENT.
- MPF_ENVLP_BEGIN_NEUTRALVAL. O DMO usa o valor neutro do parâmetro como o valor inicial para o segmento. Ele ignora valStart.
Você pode pensar nesses sinalizadores como pegar o ponto inicial do segmento e movê-lo para cima ou para baixo, enquanto o valor final permanece fixo. O segmento vai "esticar" em conformidade.
Tópicos relacionados