お世話になっております。
標記の件について質問させてください。
レベルシーケンサにサウンドウェーブを追加して、ムービーレンダリング設定でaudioOutputFormatをMasterAudioSubmixに設定して開始したところ、useSeparateProcessが有効でない場合に録音がされません。
audiomixierの設定は以下の2通りを試しています。
・エディタの起動バッチを作成して-audimixerを追加する
・エディタの環境設定でPlay>PlayInStandaloneGame>AdditionalcommandLineArgusmentsに-audiomixerを追加する
何か手順が違うのでしょうか。
以上よろしくお願いいたします。
お世話になっております。
ご連絡頂いた内容は残念ながら仕様になります。
まず、 公式ドキュメント には録音処理は別プロセスで行う必要があると書かれています。そして、その仕様への対応として、useSeparateProcessが無効な場合に実行される FInEditorCapture::Start
や FInEditorCapture::Shutdown
では音量を0にする処理が行われています。
FAudioDevice* AudioDevice = GEngine->GetMainAudioDevice();
if (AudioDevice != nullptr)
{
TransientMasterVolume = AudioDevice->GetTransientMasterVolume();
AudioDevice->SetTransientMasterVolume(0.0f);
}
なお、FMovieSceneCaptureDialogModule::StartCapture
にて useSeparateProcessを用いた FNewProcessCapture
か FInEditorCapture
のどちらを使用するのかの判定処理が行われています。
最後にこの機能はUE4.21時点ではexperimentalになっていますので、ご使用の際はその点ご注意頂けますと幸いです。
よろしくお願いいたします。