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 configurer le bouclage pour rembobiner automatiquement le temps de lecture de la forme d'onde sonore à zéro et rejouer après la fin de la lecture.
- 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 tonale
Vous pouvez modifier la hauteur tonale 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, comme Play When Silent, 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.
Modifications du Format Audio
Rééchantillonnage et Mixage des Canaux Manuellement
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 toutes les 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 rééchantillonner et mixer automatiquement toutes les données audio à venir pour qu'elles correspondent au taux d'échantillonnage et au nombre de canaux souhaité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.