diff --git a/src/xenia/apu/apu-private.h b/src/xenia/apu/apu-private.h index 5253e156f..dfcddd91f 100644 --- a/src/xenia/apu/apu-private.h +++ b/src/xenia/apu/apu-private.h @@ -14,4 +14,6 @@ DECLARE_string(apu); +DECLARE_bool(mute); + #endif // XENIA_APU_APU_PRIVATE_H_ diff --git a/src/xenia/apu/apu.cc b/src/xenia/apu/apu.cc index 6a0df3a5f..af9b1e342 100644 --- a/src/xenia/apu/apu.cc +++ b/src/xenia/apu/apu.cc @@ -15,6 +15,8 @@ using namespace xe::apu; DEFINE_string(apu, "any", "Audio system. Use: [any, nop, xaudio2]"); +DEFINE_bool(mute, false, "Mutes all audio output."); + #include "xenia/apu/nop/nop_apu.h" std::unique_ptr xe::apu::CreateNop(Emulator* emulator) { return xe::apu::nop::Create(emulator); diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc b/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc index c897c295b..ba22b33b7 100644 --- a/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc +++ b/src/xenia/apu/xaudio2/xaudio2_audio_driver.cc @@ -116,6 +116,10 @@ void XAudio2AudioDriver::Initialize() { return; } + if (FLAGS_mute) { + pcm_voice_->SetVolume(0.0f); + } + SetEvent(wait_handle_); }