Atom Audio Loader
Un plugin C++ pour Unreal Engine qui permet de charger de l'audio en temps réel depuis un fichier ou un buffer.
Ce plugin est écrit en C++ et fournit des API simple pour charger de l’audio dans un USoundWave
, depuis un fichier ou depuis un buffer. Ce dernier pourra ensuite etre lu par un UAudioComponent
. Le plugin est disponible sur l’Unreal Marketplace
Formats compatibles
Le plugin supporte ces différents formats audio:
- WAV (.wav)
- MPEG-3 (.mp3)
- OGG Vorbis (.ogg)
- Flac (.flac)
Les données audio, lorsqu’elles sont chargée, sont converties en samples PCM brutes au format 16-bit signé entrelacé.
Configurer le plugin pour l’utilisation
Pour utiliser le plugin dans votre projet, télécharger le plugin de l’Unreal Marketplace et installez le dans votre projet. Veuillez faire attention à faire correspondre les versions d’Unreal avec celles du plugin.
Vous devriez avoir un dossier nommé UE5-AtomAudio
dans votre répertoire Plugins
.
Ouvrez votre fichier description de projet unreal MonProjet.uproject
et ajoutez le plugin dans la section Plugins
s’il n’est pas présent:
"Plugins": [
{
"Name": "AtomAudio",
"Enabled": true,
}
]
Puis ouvrez votre fichier de build qui correspond au module ou vous voulez utiliser le plugin, par exemple MonProjet.Build.cs
.
Ajoutez le nom du plugin dans les dépendances de modules comme ceci:
// MonProjet.Build.cs
PublicDependenciesModuleNames.Add("AtomAudio");
Vous pouvez maintenant recompiler votre projet et utiliser Atom Audio Loader
!
Documentation
Le plugin fourni une Blueprint Function Library
nommé UAtomAudioFunctionLibrary
qui permet d’appeler les fonctions de l’API. Ces fonctions sont donc disponibles pour C++ et dans les Blueprint.
Charger depuis un fichiers
// ...
#include "AtomAudioFunctionLibrary.h"
static UAtomSoundWave* LoadSoundFromFile(const FString& Filepath, EAtomAudioFileFormat Format, ESoundGroup SoundGroup);
const FString&
Filepath: Chemin du fichier audio a charger.
EAtomAudioFileFormat
Format: Format du fichier à charger (EAtomAudioFileFormat::Auto
est recommandé).
Retourne: Un pointeur vers un UAtomSoundWave
avec l’audio chargé si succès. Vaut nullptr
si échec.
Charger depuis un buffer
// ...
#include "AtomAudioFunctionLibrary.h"
static UAtomSoundWave* LoadSoundFromBuffer(const TArray<uint8>& RawFile, EAtomAudioFileFormat Format, ESoundGroup SoundGroup);
const TArray<uint8>&
RawFile: Reference vers le buffer.
EAtomAudioFileFormat
Format: Format des données du buffer (EAtomAudioFileFormat::Auto
est recommandé).
Retourne: Un pointeur vers un UAtomSoundWave
avec l’audio chargé si succès. Vaut nullptr
si échec.
Récupérer les samples PCM d’un USoundWave
// ...
#include "AtomAudioFunctionLibrary.h"
static void GetAudioPCMSamples(USoundWave* InAudio, TArray<float>& OutSamplesBuffer);
USoundWave*
InAudio: Référence à un USoundWave.
TArray<float>&
OutSamplesBuffer: Référence au buffer à remplir avec les données PCM.