Propiedades de la Onda de Sonido
Accediendo a los Datos de Audio
Recuperando el Búfer PCM
Puedes recuperar el búfer 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
Bucle (Looping)
Para crear un bucle de audio sin interrupciones, puedes configurar el bucle para que automáticamente rebobine el tiempo de reproducción de la onda de sonido a cero y la reproduzca nuevamente 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 para adaptarlo a 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 tu preferencia.
- 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 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 Reproducir en Silencio, 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 particularmente útil si estás usando atenuación de sonido para controlar cómo se desvanece el audio con la distancia.
Ambisonics
Puedes marcar una onda de sonido como una fuente Ambisonics para la codificación de audio espacial 3D. El motor de audio solo admite Ambisonics de Primer Orden (FOA), que requiere exactamente 4 canales.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
Modificaciones de Formato de Audio
Remuestreo y Mezcla de Canales Manual
Si necesitas cambiar la frecuencia 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 frecuencia 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 en consecuencia.