Właściwości Fali Dźwiękowej
Dostęp do Danych Audio
Pobieranie Bufora PCM
Możesz pobrać cały bufor PCM bezpośrednio z fali dźwiękowej.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Jeśli potrzebujesz przekonwertować uzyskane dane PCM na bajty, zobacz Float Array to Bytes.
Właściwości odtwarzania
Zapętlanie
Aby stworzyć płynną pętlę audio, możesz ustawić zapętlanie, aby automatycznie przewijać czas odtwarzania fali dźwiękowej do zera i odtwarzać po zakończeniu odtwarzania.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Kontrola Głośności
Możesz dostosować głośność odtwarzanego dźwięku do swoich potrzeb.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Dostosowanie Tonu
Możesz modyfikować ton odtwarzanego dźwięku według własnych preferencji.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Dodatkowe funkcje
Napisy
Możesz ustawić napisy, czyli zdefiniować tekst oraz czas, w którym powinny zostać wyświetlone.
- 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);
Tryb Wirtualizacji
Możesz ustawić tryb wirtualizacji, taki jak Play When Silent, który pozwala fali dźwiękowej kontynuować odtwarzanie nawet podczas ciszy.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Jest to szczególnie przydatne, jeśli używasz tłumienia dźwięku do kontrolowania, jak audio zanika wraz z odległością.
Modyfikacje formatu audio
Ręczne próbkowanie ponowne i mieszanie kanałów
Jeśli potrzebujesz zmienić częstotliwość próbkowania lub liczbę kanałów w zaimportowanej fali dźwiękowej, możesz użyć odpowiednich funkcji do ponownego próbkowania i mieszania danych audio.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Spowoduje to modyfikację całych danych fali dźwiękowej i wpłynie na dane wyjściowe z delegatów OnGeneratePCMData
i OnPopulateAudioData
odpowiednio.
Automatyczna konwersja formatu
Możesz automatycznie próbkować ponownie i miksować wszystkie nadchodzące dane audio, które mają zostać wypełnione, do określonej żądanej częstotliwości próbkowania i liczby kanałów.
- Blueprint
- C++
// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Wpłynie to również odpowiednio na wynik z delegatów OnGeneratePCMData
i OnPopulateAudioData
.