Propriétés des Ondes Sonores
Accès aux Données Audio
Récupération du Tampon PCM
Vous pouvez récupérer l'intégralité du tampon PCM directement depuis une onde sonore.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Si vous avez besoin de convertir les données PCM obtenues en octets, consultez Float Array to Bytes.
Propriétés de Lecture
Bouclage
Pour créer une boucle audio fluide, vous pouvez activer le bouclage pour remettre automatiquement le temps de lecture de l'onde sonore à zéro et la rejouer une fois la lecture terminée.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Contrôle du Volume
Vous pouvez ajuster le volume du son en cours de lecture selon vos besoins.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Ajustement de la Hauteur
Vous pouvez modifier la hauteur du son en cours de lecture selon vos préférences.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Fonctionnalités supplémentaires
Sous-titres
Vous pouvez définir des sous-titres, c'est-à-dire spécifier le texte et le moment où ils doivent s'afficher.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<FEditableSubtitleCue> Subtitles;
FEditableSubtitleCue Subtitle;
Subtitle.Text = FText::FromString("Example");
Subtitle.Time = 2.0f;
Subtitles.Add(Subtitle);
ImportedSoundWave->SetSubtitles(Subtitles);
Mode de Virtualisation
Vous pouvez définir le mode de virtualisation, tel que Play When Silent (Jouer en Silence), qui permet à la forme d'onde sonore de continuer la lecture même pendant les silences.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Ceci est particulièrement utile si vous utilisez l'atténuation sonore pour contrôler la façon dont l'audio s'estompe avec la distance.
Ambisonics
Vous pouvez marquer une onde sonore comme source Ambisonics pour l'encodage audio spatial 3D. Le moteur audio ne prend en charge que l'Ambisonics de premier ordre (FOA), qui nécessite exactement 4 canaux.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
Modifications du Format Audio
Rééchantillonnage et Mixage de Canaux Manuel
Si vous avez besoin de modifier la fréquence d'échantillonnage ou le nombre de canaux dans l'onde sonore importée, vous pouvez utiliser les fonctions appropriées pour rééchantillonner et mixer les données audio.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Cela modifiera l'intégralité des données de l'onde sonore et affectera la sortie des délégués OnGeneratePCMData et OnPopulateAudioData en conséquence.
Conversion Automatique de Format
Vous pouvez automatiquement rééchantillonner et mixer toutes les données audio à venir qui seront peuplées vers le taux d'échantillonnage et le nombre de canaux souhaités spécifiés.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Cela affectera également la sortie des délégués OnGeneratePCMData et OnPopulateAudioData en conséquence.