Propiedades de la onda sonora
Puedes recuperar el búfer PCM completo de una onda sonora directamente.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Para crear un bucle de audio continuo, puedes configurar el bucle para que rebobine automáticamente el tiempo de reproducción de la onda sonora a cero y se reproduzca después de que termine la reproducción.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Puedes ajustar el volumen del sonido que se está reproduciendo para adaptarlo a tus necesidades.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
</TabItem>
</Tabs>
***
También puedes modificar el tono del sonido que se está reproduciendo a tu preferencia.
<Tabs groupId="languages">
<TabItem value="blueprint" label="Blueprint">
![Nodo Set Pitch](/img/runtime-audio-importer/setpitch.jpg)
</TabItem>
<TabItem value="c++" label="C++">
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Puedes establecer subtítulos, es decir, definir el texto y el momento en el que deben mostrarse.
- 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);
Puedes establecer el modo de virtualización, como Play When Silent, que permite que la onda de sonido continúe reproduciéndose incluso durante el silencio. Esto es particularmente útil si estás utilizando atenuación de sonido.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Si necesitas cambiar la frecuencia de muestreo o el número de canales en la onda de sonido importada, puedes utilizar las funciones adecuadas para re-samplear y mezclar los datos de audio. Esto modificará todos los datos de la onda de sonido y afectará la salida de los delegados OnGeneratePCMData
y OnPopulateAudioData
en consecuencia.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
O, si desea reasignar automáticamente y mezclar todos los próximos datos de audio que se poblarán a la tasa de muestra y el número de canales deseados especificados, puede usar las siguientes funciones (esto también afectará la salida de los delegados OnGeneratePCMData
y OnPopulateAudioData
en consecuencia).
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);