Thuộc tính Sound Wave
Truy cập Dữ liệu Âm thanh
Lấy Bộ đệm PCM
Bạn có thể lấy toàn bộ bộ đệm PCM từ một sound wave một cách trực tiếp.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
Nếu bạn cần chuyển đổi dữ liệu PCM thu được thành byte, hãy xem Mảng Float thành Byte.
Thuộc tính Phát lại
Vòng lặp
Để tạo một vòng lặp âm thanh liền mạch, bạn có thể thiết lập vòng lặp để tự động tua lại thời gian phát của sóng âm về 0 và phát lại sau khi kết thúc phát.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
Điều khiển Âm lượng
Bạn có thể điều chỉnh âm lượng của âm thanh đang phát để phù hợp với nhu cầu của mình.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
Điều chỉnh Cao độ
Bạn có thể thay đổi cao độ của âm thanh đang phát theo ý muốn.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
Các Tính Năng Bổ Sung
Phụ Đề
Bạn có thể đặt phụ đề, cụ thể là, xác định văn bản và thời điểm chúng sẽ được hiển thị.
- 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);
Chế độ Ảo hóa
Bạn có thể thiết lập chế độ ảo hóa, chẳng hạn như Phát Khi Im lặng, cho phép sóng âm thanh tiếp tục phát ngay cả trong khoảng thời gian im lặng.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
Điều này đặc biệt hữu ích nếu bạn đang sử dụng suy giảm âm thanh để kiểm soát cách âm thanh mờ dần theo khoảng cách.
Ambisonics
Bạn có thể đánh dấu một sóng âm thanh làm nguồn Ambisonics để mã hóa âm thanh không gian 3D. Công cụ âm thanh chỉ hỗ trợ Ambisonics bậc một (FOA), yêu cầu chính xác 4 kênh.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
Sửa đổi Định dạng Âm thanh
Lấy mẫu lại và Trộn kênh Thủ công
Nếu bạn cần thay đổi tốc độ lấy mẫu hoặc số lượng kênh trong sóng âm thanh đã nhập, bạn có thể sử dụng các hàm thích hợp để lấy mẫu lại và trộn dữ liệu âm thanh.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
Điều này sẽ sửa đổi toàn bộ dữ liệu sóng âm thanh và ảnh hưởng đến đầu ra từ các ủy quyền OnGeneratePCMData và OnPopulateAudioData tương ứng.
Chuyển đổi Định dạng Tự động
Bạn có thể tự động lấy mẫu lại và trộn tất cả dữ liệu âm thanh sắp tới để được điền vào tốc độ lấy mẫu và số lượng kênh mong muốn đã chỉ định.
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
Điều này cũng sẽ ảnh hưởng đến đầu ra từ các delegate OnGeneratePCMData và OnPopulateAudioData tương ứng.