Condividi tramite


Metodo IXAPO::P rocess (xapo.h)

Esegue il codice DSP (Digital Signal Processing) di XAPO nei buffer di input e output specificati.

Sintassi

void Process(
  [in]      UINT32                               InputProcessParameterCount,
  [in]      const XAPO_PROCESS_BUFFER_PARAMETERS *pInputProcessParameters,
  [in]      UINT32                               OutputProcessParameterCount,
  [in, out] XAPO_PROCESS_BUFFER_PARAMETERS       *pOutputProcessParameters,
            BOOL                                 IsEnabled
);

Parametri

[in] InputProcessParameterCount

Numero di elementi in pInputProcessParameters.

Nota XAudio2 supporta attualmente un solo flusso di input e un flusso di output.
 

[in] pInputProcessParameters

Matrice di input di strutture XAPO_PROCESS_BUFFER_PARAMETERS .

[in] OutputProcessParameterCount

Numero di elementi in pOutputProcessParameters.

Nota XAudio2 supporta attualmente un solo flusso di input e un flusso di output.
 

[in, out] pOutputProcessParameters

Matrice di output delle strutture XAPO_PROCESS_BUFFER_PARAMETERS . In input il valore di XAPO_PROCESS_BUFFER_PARAMETERS. ValidFrameCount indica il numero di frame che la XAPO deve scrivere nel buffer di output. Nell'output il valore di XAPO_PROCESS_BUFFER_PARAMETERS. ValidFrameCount indica il numero effettivo di fotogrammi scritti.

IsEnabled

TRUE da elaborare normalmente; FALSE per elaborare il processo. Per altre informazioni, vedere Osservazioni.

Valore restituito

nessuno

Osservazioni

Le implementazioni di questa funzione non devono essere bloccate, poiché la funzione viene chiamata dal thread di elaborazione audio in tempo reale.

Tutto il codice che potrebbe causare un ritardo, ad esempio la convalida del formato e l'allocazione della memoria, deve essere inserito nel metodo IXAPO::LockForProcess , che non viene chiamato dal thread di elaborazione audio in tempo reale.

Per l'elaborazione sul posto, il parametro pInputProcessParameters non sarà necessariamente uguale a pOutputProcessParameters. Invece, i membri pBuffer puntano alla stessa memoria.

È possibile usare più buffer di input e output con XAPO sul posto, anche se il conteggio del buffer di input deve essere uguale al numero di buffer di output. Per l'elaborazione sul posto quando vengono usati più buffer di input e output, la XAPO può assumere il numero di buffer di input uguale al numero di buffer di output.

Oltre alla scrittura nel buffer di output, in base alle esigenze, un XAPO è responsabile dell'impostazione dei flag di buffer del flusso di output e del conteggio dei frame validi.

Quando IsEnabled è FALSE, la XAPO non deve applicare la normale elaborazione ai buffer di input/output specificati durante. Deve invece passare i dati dall'input all'output con un minimo di modifica possibile. Gli effetti che eseguono la conversione del formato devono continuare a farlo. Gli effetti devono garantire che le transizioni tra l'elaborazione normale e l'elaborazione tramite non introducono interruzioni nel segnale.

Quando si scrive un metodo Process , è importante notare che i dati audio XAudio2 sono interleaved, il che significa che i dati di ogni canale sono adiacenti per un determinato numero di esempio. Ad esempio, se si è verificato un'onda a 4 canali che giocano in una voce di origine XAudio2, i dati audio sono un esempio di canale 0, un esempio di canale 1, un esempio di canale 2, un esempio di canale 3 e quindi il successivo esempio di canali 0, 1, 2, 3 e così via.

Requisiti della piattaforma

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Requisiti

   
Piattaforma di destinazione Windows
Intestazione xapo.h

Vedi anche

IXAPO