Método IMFPMediaPlayer::InsertEffect (mfplay.h)
Aplica un efecto de audio o vídeo a la reproducción.
Sintaxis
HRESULT InsertEffect(
[in] IUnknown *pEffect,
[in] BOOL fOptional
);
Parámetros
[in] pEffect
Puntero a la interfaz IUnknown para una de las siguientes opciones:
- Transformación de Media Foundation (MFT) que implementa el efecto. Las MFT exponen la interfaz IMFTransform .
- Objeto de activación que crea un MFT. Los objetos de activación exponen la interfaz IMFActivate .
[in] fOptional
Especifica si el efecto es opcional.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
Este efecto ya se agregó. |
Comentarios
El objeto especificado en el parámetro pEffect puede implementar un efecto de vídeo o un efecto de audio. El efecto se aplica a cualquier elemento multimedia establecido después de llamar al método . No se aplica al elemento multimedia actual.
Para cada elemento multimedia, el efecto se aplica a la primera secuencia seleccionada del tipo coincidente (audio o vídeo). Si un elemento multimedia tiene dos secuencias seleccionadas del mismo tipo, la segunda secuencia no recibe el efecto. El efecto se omite si el elemento multimedia no contiene una secuencia que coincida con el tipo de efecto. Por ejemplo, si establece un efecto de vídeo y reproduce un archivo que contiene solo audio, se omite el efecto de vídeo, aunque no se genera ningún error.
El efecto se aplica a todos los elementos multimedia posteriores, hasta que la aplicación quita el efecto. Para quitar un efecto, llame a IMFPMediaPlayer::RemoveEffect o IMFPMediaPlayer::RemoveAllEffects.
Si establece varios efectos del mismo tipo (audio o vídeo), se aplican en el mismo orden en el que se llama a InsertEffect.
Optimizaciones de reproducción remota
Los efectos de audio y vídeo pueden ser incompatibles con las optimizaciones que se usan para la reproducción remota. Los siguientes comentarios solo se aplican a los efectos de audio o vídeo que se usan realmente durante la reproducción:- Si marca un efecto de audio o vídeo según sea necesario, estableciendo fOptional enFALSE, MFPlay deshabilita las optimizaciones de reproducción remota.
- De lo contrario, si todos los efectos de audio y vídeo están marcados como opcionales, MFPlay podría quitar los efectos, con el fin de habilitar las optimizaciones de reproducción remota.
Las optimizaciones remotas pueden deshabilitarse por otros motivos. Por ejemplo, se deshabilitan si establece la opción MFP_OPTION_NO_REMOTE_DESKTOP_OPTIMIZATION al crear el objeto de reproductor. En ese caso, MFPlay intentará insertar cualquier efecto opcional.
Los efectos que no son de audio y que no son de vídeo no afectan a las optimizaciones remotas. Además, si inserta un efecto necesario, pero el origen no contiene ningún flujo de ese tipo, no se deshabilitan las optimizaciones remotas.
Ejemplos
HRESULT AddPlaybackEffect(REFGUID clsid, IMFPMediaPlayer *pPlayer)
{
IMFTransform *pMFT = NULL;
HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pMFT));
if (SUCCEEDED(hr))
{
hr = pPlayer->InsertEffect(pMFT, TRUE); // Set as optional.
}
SafeRelease(&pMFT);
return hr;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mfplay.h |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de