サウンドウェーブのプロパティ
オーディオデータへのアクセス
PCMバッファの取得
サウンドウェーブから直接PCMバッファ全体を取得できます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
TArray<float> PCMBuffer = ImportedSoundWave->GetPCMBufferCopy();
取得したPCMデータをバイトに変換する必要がある場合は、Float Array to Bytesを参照してください。
再生プロパティ
ループ再生
シームレスなオーディオループを作成するには、ループ再生を設定して、再生終了後にサウンドウェーブの再生時間をゼロに巻き戻して再生することができます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetLooping(false);
音量制御
再生中のサウンドの音量を、必要に応じて調整できます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVolume(1.0f);
ピッチ調整
再生中の音のピッチを好みに合わせて変更できます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetPitch(1.0f);
追加機能
字幕
字幕を設定することができます。具体的には、表示するテキストとその表示タイミングを定義します。
- 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);
仮想化モード
無音時再生 などの仮想化モードを設定できます。これにより、無音時でも音声波形の再生を継続できます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetVirtualizationMode(EVirtualizationMode::PlayWhenSilent);
これは、距離に応じてオーディオがフェードする方法を制御するためにサウンド減衰を使用している場合に特に役立ちます。
アンビソニックス
サウンドウェーブを3D空間オーディオエンコーディング用のアンビソニックスソースとしてマークできます。オーディオエンジンは一次アンビソニックス(FOA)のみをサポートしており、これは正確に4チャンネルを必要とします。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetIsAmbisonics(true);
オーディオフォーマットの変更
手動でのリサンプリングとチャンネルミキシング
インポートしたサウンドウェーブのサンプルレートやチャンネル数を変更する必要がある場合は、適切な関数を使用してオーディオデータをリサンプリングおよびミキシングできます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->ResampleSoundWave(44100);
ImportedSoundWave->MixSoundWaveChannels(2);
これは音声波形データ全体を変更し、OnGeneratePCMDataおよびOnPopulateAudioDataデリゲートからの出力に影響を与えます。
自動フォーマット変換
これから入力されるすべての音声データを、指定された希望のサンプルレートとチャンネル数に自動的にリサンプリングおよびミックスすることができます。
- Blueprint
- C++

// Assuming ImportedSoundWave is a UE reference to a UImportedSoundWave object
ImportedSoundWave->SetInitialDesiredSampleRate(44100);
ImportedSoundWave->SetInitialDesiredNumOfChannels(2);
これは、OnGeneratePCMData および OnPopulateAudioData デリゲートからの出力にも同様に影響します。