> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Vue d'ensemble de xWMA

> Format audio xWMA pour les jeux XBOX : un sous-ensemble de WMA Professional décodé de façon logicielle par XAudio2 pour les flux compressés de dialogues et de musique.

xWMA est un sous-ensemble du format de compression Windows Media Audio (WMA) Professional. Le décodage xWMA est pris en charge de façon logicielle par [XAudio2](/fr-CA/build/console-features/audio/overviews/xaudio2-overview). xWMA utilise le format de flux binaire WMA dans un wrapper léger et est utile pour les dialogues et la musique lorsqu'une faible utilisation du processeur peut être tolérée en contrepartie d'une meilleure compression. Un paramètre de qualité permet à l'utilisateur de faire varier le débit binaire du son compressé.

<Note>xWMA et XMA2 tirent tous deux leur origine des codecs développés pour Windows Media Audio (WMA) et ont tous deux été développés spécifiquement pour les jeux XBOX. Le sous-ensemble de codecs et de paramètres disponibles utilisé par XMA2 est plus petit que celui utilisé par xWMA. Bien que xWMA et XMA2 aient tous deux été développés pour XBOX, ils ne sont pas interchangeables : les en-têtes de chaque format de fichier diffèrent, et les formats sont incompatibles avec les versions PC de Windows. Les codecs utilisés pour XMA2 et xWMA sont également légèrement différents, de sorte que chacun aura ses propres artefacts issus du système de compression utilisé.</Note>

Dans cette rubrique :

* [Encodage xWMA](#ID4EW)
* [Décodage xWMA](#ID4E6B)
* [Mise en boucle xWMA](#ID4ETD)
* [Structure d'un fichier xWMA](#ID4ESE)

<a id="ID4EW" />

## Encodage xWMA

Pour encoder des données audio en xWMA, utilisez l'outil en ligne de commande xWMAEncode ou un outil personnalisé qui repose sur XWMAEncoder.lib.

### xWMAEncode

Pour encoder des fichiers audio en xWMA afin de les utiliser avec XAudio2, utilisez l'[encodeur xWMA en ligne de commande](/fr-CA/build/console-features/audio/tools/xwmaencode-tools).

### XWMAEncoder.lib

XWMAEncoder.lib est une bibliothèque liée statiquement, disponible comme solution de rechange à l'outil en ligne de commande [encodeur xWMA en ligne de commande](/fr-CA/build/console-features/audio/tools/xwmaencode-tools). Vos outils personnalisés reposent sur cette bibliothèque pour effectuer l'encodage xWMA à l'aide de la fonction **XWMAEncoder**. Pour obtenir des détails et des exemples d'utilisation de cette fonction, consultez la documentation de la XBOX 360.

<a id="ID4E6B" />

## Décodage xWMA

Le décodage logiciel de xWMA est pris en charge sur Windows et sur XBOX One dans XAudio2, ainsi qu'au moyen de l'API xWMADecode.

| Technologie | Description |
| - | - |
| XACT | XACT n'est pas pris en charge sur XBOX One. |
| XAudio2 | Pour utiliser des données encodées en xWMA dans XAudio2, (1) initialisez une structure WAVEFORMATEXTENSIBLE avec des valeurs propres à xWMA, puis (2) transmettez la structure comme argument à [CreateSourceVoice](https://learn.microsoft.com/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2-createsourcevoice) lors de la création d'une voix source. Pour un exemple de chargement et de lecture de sons dans XAudio2, consultez [Procédure : lire un son avec XAudio2](https://msdn.microsoft.com/library/windows/desktop/ee415787\(v=vs.85\).aspx). |
| XWMADecode | Utilisez l'API XWMADecode pour décoder directement des mémoires tampons xWMA en mémoires tampons PCM, sans utiliser XAudio2. |

<a id="ID4ETD" />

## Mise en boucle xWMA

xWMA ne prend pas en charge les régions de boucle ni la mise en boucle de paquets arbitraires dans un fichier xWMA. Seul un fichier xWMA entier peut être mis en boucle. Dans XAudio2, xWMA comporte des restrictions liées à la mise en boucle pour les valeurs de la structure [XAUDIO2\_BUFFER](https://learn.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer) transmise à [IXAudio2SourceVoice::SubmitSourceBuffer](https://learn.microsoft.com/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2sourcevoice-submitsourcebuffer). Si toutes les données audio du fichier xWMA sont soumises dans une seule mémoire tampon et que l'utilisateur souhaite les mettre en boucle, les restrictions suivantes doivent être respectées.

1. XAUDIO2\_BUFFER.LoopBegin doit toujours être zéro.
2. XAUDIO2\_BUFFER.LoopLength doit être zéro ou la taille, en échantillons, de l'ensemble des données xWMA du fichier.
3. XAUDIO2\_BUFFER.LoopCount peut avoir n'importe quelle valeur.
4. XAUDIO2\_BUFFER.Flags doit être défini sur XAUDIO2\_END\_OF\_STREAM.

Si les données audio xWMA sont soumises dans plus d'une mémoire tampon, l'audio ne peut être mis en boucle que manuellement en soumettant de nouveau la série de mémoires tampons.

Comme une période de silence peut être introduite pendant la mise en boucle de l'audio xWMA, la mise en boucle de l'audio xWMA ne devrait généralement être utilisée qu'avec des sons comportant des fondus d'entrée et de sortie doux. Par exemple, le bruit des vagues de l'océan et certains types de bruits ambiants subtils.

<a id="ID4ESE" />

## Structure d'un fichier xWMA

Un fichier xWMA est un fichier RIFF standard comportant les types de blocs suivants.

\| FCC du bloc| Description|
\| --- | --- | --- | --- |
\| RIFF| Le bloc RIFF standard contient les éléments suivants : <br />1. Dans les quatre premiers octets de sa section de données, un type de fichier ayant la valeur `XWMA`. <br /> 2. Dans le reste de la section de données, les autres blocs du fichier. |
\| fmt| Ce bloc contient l'en-tête de format du fichier xWMA. Les données de ce bloc correspondent à une structure [WAVEFORMATEX](https://learn.microsoft.com/windows/desktop/api/mmreg/ns-mmreg-waveformatex) pour les données xWMA à un ou deux canaux, ou à une structure WAVEFORMATEXTENSIBLE pour les données xWMA à trois canaux ou plus. |
\| data| Ce bloc contient les données audio xWMA encodées. Lorsque xWMA est utilisé dans XAudio2, le contenu du bloc de données sera lu dans une mémoire tampon et transmis à une voix source en tant que membre pAudioData d'une structure [XAUDIO2\_BUFFER](https://learn.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer). Le contenu du bloc de données n'a pas besoin de faire l'objet d'une permutation d'octets. |
\| dpds| Ce bloc contient le tableau des tailles de données cumulées des paquets décodés, où chaque élément correspond au nombre d'octets accumulés après le décodage, dans l'ordre, du paquet xWMA correspondant. La taille de ce bloc, mesurée en UINT32, et le contenu de sa section de données sont utilisés dans XAudio2 pour remplir une structure [XAUDIO2\_BUFFER\_WMA](https://learn.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer_wma). |

<a id="ID4EPG" />

## Voir aussi

[Encodeur xWMA en ligne de commande](/fr-CA/build/console-features/audio/tools/xwmaencode-tools)


## Related topics

- [Vue d'ensemble d'Unity](/fr/paths/unity/overview.md)
- [Vue d'ensemble du portage](/fr/paths/porting/overview.md)
- [Vue d'ensemble de XBOX Series X|S](/fr/paths/series-xs/overview.md)
- [Vue d'ensemble d'Unreal Engine](/fr/paths/unreal/overview.md)
- [Vue d'ensemble de l'accessibilité GDK](/fr/build/game-principles/accessibility/accessibility-overview.md)
