Propiedades de las ondas de sonido
Acceso a datos de audio
Obtención del buffer PCM
Puedes recuperar el buffer PCM completo directamente desde una onda de sonido.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Si necesitas convertir los datos PCM obtenidos a bytes, consulta Float Array to Bytes.
Propiedades de Reproducción
Loop (Repetición)
Para crear un bucle de audio continuo, puedes configurar el loop para que automáticamente rebobine el tiempo de reproducción de la onda de sonido a cero y vuelva a reproducirse después de que termine.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Control de Volumen
Puedes ajustar el volumen del sonido que se está reproduciendo según tus necesidades.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Ajuste de Tono
Puedes modificar el tono del sonido que se está reproduciendo según tus preferencias.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Características Adicionales
Subtítulos
Puedes configurar 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);
Modo de Virtualización
Puedes configurar el modo de virtualización, como Play When Silent, que permite que la onda de sonido continúe reproduciéndose incluso durante los silencios.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Esto es especialmente útil si estás usando atenuación de sonido para controlar cómo el audio se desvanece con la distancia.
Modificaciones de Formato de Audio
Remuestreo y Mezcla de Canales Manual
Si necesitas cambiar la tasa de muestreo o el número de canales en la onda de sonido importada, puedes usar las funciones apropiadas para remuestrear y mezclar los datos de audio.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Esto modificará todos los datos de la onda de sonido y afectará la salida de los delegados OnGeneratePCMData
y OnPopulateAudioData
en consecuencia.
Conversión Automática de Formato
Puedes remuestrear y mezclar automáticamente todos los datos de audio próximos a ser poblados a la tasa de muestreo y número de canales deseados especificados.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Esto también afectará la salida de los delegados OnGeneratePCMData
y OnPopulateAudioData
de manera correspondiente.