Share via


Implementación de CEcho::FinalConstruct

[La característica asociada a esta página, Reproductor multimedia de Windows SDK, es una característica heredada. Se ha reemplazado por MediaPlayer. MediaPlayer se ha optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer en lugar de Reproductor multimedia de Windows SDK, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El método CEcho::FinalConstruct se implementa en Echo.cpp. Contiene código para leer los valores de propiedad del Registro cuando Reproductor multimedia de Windows crea una instancia del objeto del complemento DSP. Esto es importante porque permite que la configuración del usuario persista entre instancias del objeto, así como entre sesiones. El código de ejemplo del asistente para complementos proporciona implementación para leer una sola propiedad del Registro. Puede modificar este código para controlar la propiedad delay time y, a continuación, agregar código para leer el valor de la propiedad de combinación húmeda.

El código de ejemplo siguiente lee cada valor de propiedad del Registro y almacena cada uno en la variable miembro correcta:

CRegKey key;
LONG    lResult;
DWORD   dwValue;

lResult = key.Open(HKEY_CURRENT_USER, kszPrefsRegKey, KEY_READ);
if (ERROR_SUCCESS == lResult)
{
    // Read the delay time from the registry. 
    lResult = key.QueryValue(dwValue, kszPrefsDelayTime );
    if (ERROR_SUCCESS == lResult)
    {
        m_dwDelayTime = dwValue;
    }

    // Read the wet mix value from the registry. 
    lResult = key.QueryValue(dwValue, kszPrefsWetmix );
    if (ERROR_SUCCESS == lResult)
    {
        // Convert the DWORD to a double.
        m_fWetMix = (double)dwValue / 100;
        // Calculate the dry mix value.
        m_fDryMix = 1.0 - m_fWetMix;
    }

}

return S_OK;

Observe que el valor DWORD de la mezcla húmeda se convierte en un valor de punto flotante. Tenga en cuenta también que el código calcula el valor correcto para m_fDryMix.

Modificación de la página de propiedades de ejemplo de eco