Share via


Aggiunta della proprietà Wet Mix

[La funzionalità associata a questa pagina, Lettore multimediale Windows SDK, è una funzionalità legacy. È stata sostituita da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer anziché Lettore multimediale Windows SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

È necessario aggiungere il codice per fornire la proprietà aggiuntiva per il livello di effetto.

La sezione Aggiunta di proprietà al plug-in DSP audio di esempio fornisce informazioni dettagliate su come aggiungere una nuova proprietà usando Visual C++. Questa sezione illustra come aggiungere manualmente il codice. Ciò comporta l'aggiunta di codice nelle stesse tre posizioni in cui è stato modificato il codice per la proprietà time di ritardo.

Aggiungere i prototipi per i metodi get_wetmix e put_wetmix immediatamente dopo gli altri prototipi di metodi di proprietà in Echo.h. Usare la sintassi seguente:

STDMETHOD(get_wetmix)(double *pVal);
STDMETHOD(put_wetmix)(double newVal);

Aggiungere ora l'implementazione per ogni metodo immediatamente seguendo le altre implementazioni delle proprietà in Echo.cpp. Nell'esempio seguente viene illustrato il codice per entrambi i metodi:

// Property get to retrieve the wet mix value by using the public interface.
STDMETHODIMP CEcho::get_wetmix(double *pVal)
{
    if ( NULL == pVal )
    {
        return E_POINTER;
    }

    *pVal = m_fWetMix;

    return S_OK;
}

// Property put to store the wet mix value by using the public interface.
STDMETHODIMP CEcho::put_wetmix(double newVal)
{
    m_fWetMix = newVal;

    // Calculate m_fDryMix
    m_fDryMix = 1.0 - m_fWetMix;
    
    return S_OK;
}

Si noti che l'implementazione di put_wetmix include il codice per calcolare il valore corretto per m_fDryMix. Ogni volta che viene specificato un nuovo valore per m_fWetMix, è necessario questo calcolo.

Aggiungere il codice seguente nella definizione dell'interfaccia subito dopo il codice per i metodi di ritardo in Echo.idl:

HRESULT get_wetmix([out] double *pVal);
HRESULT put_wetmix([in] double newVal);

Proprietà di esempio echo