Share via


Procedura: Aggiungere supporto per i parametri di runtime a un oggetto di elaborazione audio di XAudio2

È possibile aggiungere il supporto dei parametri di runtime a un XAPO implementando l'interfaccia IXAPOParameters . Il supporto dei parametri di runtime consente a un XAPO di modificare il comportamento in base ai parametri passati in fase di esecuzione.

  1. Seguire la procedura descritta in Procedura: Creare un XAPO.

  2. Modificare XAPO per derivare da CXAPOParametersBase e CXAPOBase.

  3. Aggiungere chiamate ai metodi CXAPOParametersBase::BeginProcess e CXAPOParametersBase::EndProcess all'implementazione di IXAPO::P rocess.

    Nota

    L'aggiunta di questi metodi a IXAPO::P rocess consente a CXAPOParametersBase di mantenere le copie dei parametri degli effetti in uno stato thread-safe. Chiamare CXAPOParametersBase::BeginProcess all'inizio di IXAPO::P rocess e CXAPOParametersBase::EndProcess alla fine di IXAPO::P rocess.

     

  4. Aggiungere altro codice all'implementazione IXAPO::P rocess per modificare il comportamento in base ai valori archiviati dal metodo SetParameters .

    Nota

    L'aggiunta del codice al metodo IXAPO::P rocess per usare i parametri specificati da SetParameters consente di modificare il comportamento di XAPO durante la sua vita.

     

  5. Quando si crea un'istanza dell'effetto, allocare un buffer di tre delle strutture che rappresentano i parametri dell'effetto e passarlo al costruttore CXAPOParametersBase .

    Nota

    L'istanza di CXAPOParametersBase usa internamente questo buffer per gestire i parametri di effetto passati quando si chiama SetParameters. È necessario inizializzare tutti i blocchi dei parametri di processo in pParameterBlocks allo stesso valore predefinito prima di chiamare uno dei metodi IXAPO::P rocess,IXAPOParameters::GetParameters e IXAPOParameters::SetParameters . In genere questa inizializzazione viene gestita in IXAPO::Initialize o in IXAPO::LockForProcess.

     

Effetti audio

Panoramica di XAPO