Partager via


IXAudio2 ::CreateMasteringVoice, méthode (xaudio2.h)

Crée et configure une voix de mastering.

Syntaxe

HRESULT CreateMasteringVoice(
  [out]          IXAudio2MasteringVoice     **ppMasteringVoice,
  [in]           UINT32                     InputChannels,
  [in]           UINT32                     InputSampleRate,
  [in]           UINT32                     Flags,
  [in]           LPCWSTR                    szDeviceId,
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain,
  [in, optional] AUDIO_STREAM_CATEGORY      StreamCategory
);

Paramètres

[out] ppMasteringVoice

En cas de réussite, retourne un pointeur vers le nouvel objet IXAudio2MasteringVoice .

[in] InputChannels

Nombre de canaux attendus par la voix de mastering dans son audio d’entrée. InputChannels doit être inférieur ou égal à XAUDIO2_MAX_AUDIO_CHANNELS.

Vous pouvez définir InputChannels sur XAUDIO2_DEFAULT_CHANNELS, ce qui amène XAudio2 à essayer de détecter la configuration de l’orateur système.

[in] InputSampleRate

Taux d’échantillonnage des données audio d’entrée de la voix de mastering. Ce taux doit être un multiple de XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate doit se trouver entre XAUDIO2_MIN_SAMPLE_RATE et XAUDIO2_MAX_SAMPLE_RATE.

Vous pouvez définir InputSampleRate sur XAUDIO2_DEFAULT_SAMPLERATE, la valeur par défaut étant déterminée par la plateforme actuelle.

Windows XP est défini par défaut sur 44100.

Par défaut, Windows Vista et Windows 7 mettent en valeur le paramètre spécifié dans le Panneau de configuration audio. La valeur par défaut de ce paramètre est 44100 (ou 48 000 si nécessaire par le pilote).

Indicateurs

[in] Flags

Indicateurs qui spécifient le comportement de la voix de mastering. Il peut s’agir de 0 ou XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT.

[in] szDeviceId

Identificateur de l’appareil pour recevoir l’audio de sortie. Si vous spécifiez la valeur NULL par défaut, XAudio2 sélectionne le périphérique audio par défaut global. Sur Windows 10 ou une version ultérieure, NULL accepte également le client virtualisé WASAPI, sauf s’il XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT est passé dans indicateurs.

[in, optional] pEffectChain

Pointeur vers une structure de XAUDIO2_EFFECT_CHAIN qui décrit une chaîne d’effets à utiliser dans la voix de mastering, ou NULL pour n’utiliser aucun effet.

[in, optional] StreamCategory

Catégorie de flux audio à utiliser pour cette voix de mastering.

Valeur retournée

Retourne S_OK en cas de réussite ; sinon, un code d’erreur. Retourne ERROR_NOT_FOUND si aucun périphérique audio par défaut n’existe et que NULL est passé en tant que paramètre szDeviceId.

Consultez Codes d’erreur XAudio2 pour obtenir des descriptions des codes d’erreur spécifiques à XAudio2.

Remarques

Les voix de mastering reçoivent la sortie d’une ou plusieurs voix sources ou submix. Ils traitent les données et les envoient au périphérique de sortie audio.

En règle générale, vous devez créer une voix de mastering avec un taux d’échantillonnage d’entrée qui sera utilisé par la majorité du contenu audio du titre. La voix de mastering effectue une conversion du taux d’échantillonnage de ce taux d’échantillonnage d’entrée vers le taux de sortie réel de l’appareil.

Vous ne pouvez pas créer de voix source ou de sous-mixage tant qu’une voix de mastering n’a pas existé. Vous ne pouvez pas détruire une voix de mastering si des voix source ou de sous-mix existent encore.

Les voix de mastering sont toujours traitées après toutes les voix sources et de sous-mix. Cela signifie que vous n’avez pas besoin de spécifier un paramètre ProcessingStage pour contrôler l’ordre de traitement.

XAudio2 n’autorise qu’une seule voix de mastering à exister en même temps. Si vous tentez de créer plusieurs voix, XAUDIO2_E_INVALID_CALL est retourné. Si une voix de mastering supplémentaire est nécessaire, par exemple pour un appareil de sortie avec un autre ensemble de catégories audio, vous devez créer un instance XAudio2 supplémentaire.

Lors de la première création, les voix de mastering sont à l’état démarré.

Il n’est pas valide d’appeler CreateMasteringVoice à partir d’un rappel (autrement dit, IXAudio2EngineCallback ou IXAudio2VoiceCallback). Si vous appelez CreateMasteringVoice dans un rappel, il retourne XAUDIO2_E_INVALID_CALL.

Le XAUDIO2_EFFECT_CHAIN transmis en tant qu’argument pEffectChain et les informations XAUDIO2_EFFECT_DESCRIPTOR contenues dans ce dernier ne sont plus nécessaires une fois CreateMasteringVoice terminé, et peuvent être supprimés immédiatement après l’appel de CreateMasteringVoice .

Notez que le Kit de développement logiciel (SDK) DirectX XAUDIO2 version de CreateMasteringVoice a pris un argument DeviceIndex au lieu d’un argument szDeviceId et d’un argument StreamCategory. Cela reflète les modifications nécessaires pour le modèle d’énumération d’appareil Windows standard.

Configuration requise pour la plateforme

Windows 10 (XAudio2.9) ; Windows 8, Windows Phone 8 (XAudio 2.8) ; Kit de développement logiciel (SDK) DirectX (XAudio 2.7)

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête xaudio2.h

Voir aussi

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

IXAudio2

Vue d’ensemble de XAPO

Conversions de taux d’échantillonnage XAudio2