Procédure : créer un graphique de traitement audio de base

La condition minimale requise pour permettre à XAudio2 de lire des données audio est un graphique de traitement audio, qui est construit à partir d’une voix de mastering unique et d’une seule voix source.

Pour créer un graphique de traitement audio de base

  1. Initialisez le moteur XAudio2 en suivant les étapes décrites dans Guide pratique pour initialiser XAudio2.

  2. Remplissez une structure WAVEFORMATEX et XAUDIO2_BUFFER en suivant les étapes décrites dans Guide pratique pour charger des fichiers de données audio dans XAudio2.

  3. Créez une voix source à l’aide de la fonction CreateSourceVoice .

    Lorsque vous spécifiez NULL pour l’argument pSendList de CreateSourceVoice, la sortie de la voix source est envoyée à la voix de mastering créée à l’étape 1.

    IXAudio2SourceVoice* pSourceVoice;
    if( FAILED(hr = pXAudio2->CreateSourceVoice( &pSourceVoice, (WAVEFORMATEX*)&wfx,
                  0, XAUDIO2_DEFAULT_FREQ_RATIO, NULL, NULL, NULL ) ) ) return hr;
    

    Une fois cette étape terminée, il existe un graphique audio simple composé de la voix source, de la voix de mastering et du périphérique audio. Les étapes restantes de cette rubrique pratique vous montrent comment démarrer des données audio qui transitent par le graphique.

    Un graphique audio simple

    un graphique audio simple.

  4. Utilisez la fonction SubmitSourceBuffer pour envoyer un XAUDIO2_BUFFER à la voix source.

    if( FAILED(hr = pSourceVoice->SubmitSourceBuffer( &buffer ) ) )
        return hr;
    
  5. Utilisez la fonction Start pour démarrer la voix source.

    if ( FAILED(hr = pSourceVoice->Start( 0, XAUDIO2_COMMIT_NOW ) ) )
        return hr;
    

Graphiques audio

Guide de programmation XAudio2