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.
Seguire la procedura descritta in Procedura: Creare un XAPO.
Modificare XAPO per derivare da CXAPOParametersBase e CXAPOBase.
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.
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.
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.
Argomenti correlati