diff --git a/pcsx2-qt/Settings/GraphicsMediaCaptureSettingsTab.ui b/pcsx2-qt/Settings/GraphicsMediaCaptureSettingsTab.ui index 14e504118f..1f666c4a91 100644 --- a/pcsx2-qt/Settings/GraphicsMediaCaptureSettingsTab.ui +++ b/pcsx2-qt/Settings/GraphicsMediaCaptureSettingsTab.ui @@ -188,14 +188,63 @@ - + + + + Volume: + + + audioCaptureVolume + + + + + + + + + Qt::Orientation::Horizontal + + + 0 + + + 100 + + + 100 + + + QSlider::TickPosition::TicksBelow + + + 25 + + + + + + + 100% + + + + 40 + 0 + + + + + + + Extra Arguments - + @@ -395,6 +444,7 @@ enableAudioCapture audioCaptureCodec audioCaptureBitrate + audioCaptureVolume enableAudioCaptureArguments audioCaptureArguments diff --git a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp index 337180adca..7f6d50d62f 100644 --- a/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp +++ b/pcsx2-qt/Settings/GraphicsSettingsWidget.cpp @@ -414,6 +414,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog, SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_capture.enableAudioCapture, "EmuCore/GS", "EnableAudioCapture", true); SettingWidgetBinder::BindWidgetToIntSetting( sif, m_capture.audioCaptureBitrate, "EmuCore/GS", "AudioCaptureBitrate", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_BITRATE); + SettingWidgetBinder::BindWidgetAndLabelToIntSetting( + sif, m_capture.audioCaptureVolume, m_capture.audioCaptureVolumeValue, "%", "EmuCore/GS", "AudioCaptureVolume", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_VOLUME); SettingWidgetBinder::BindWidgetToBoolSetting( sif, m_capture.enableAudioCaptureArguments, "EmuCore/GS", "EnableAudioCaptureParameters", false); SettingWidgetBinder::BindWidgetToStringSetting(sif, m_capture.audioCaptureArguments, "EmuCore/GS", "AudioCaptureParameters"); @@ -807,6 +809,10 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog, dialog()->registerWidgetHelp(m_capture.audioCaptureBitrate, tr("Audio Bitrate"), tr("192 kbps"), tr("Sets the audio bitrate to be used.")); + dialog()->registerWidgetHelp( + m_capture.audioCaptureVolume, tr("Audio Volume"), QStringLiteral("100%"), + tr("Sets the volume level for recorded audio. 100% is full volume, lower values reduce the volume.")); + dialog()->registerWidgetHelp(m_capture.enableAudioCaptureArguments, tr("Enable Extra Audio Arguments"), tr("Unchecked"), tr("Allows you to pass arguments to the selected audio codec.")); dialog()->registerWidgetHelp(m_capture.audioCaptureArguments, tr("Extra Audio Arguments"), tr("Leave It Blank"), diff --git a/pcsx2/Config.h b/pcsx2/Config.h index b846233f50..a6d4fdd366 100644 --- a/pcsx2/Config.h +++ b/pcsx2/Config.h @@ -704,6 +704,7 @@ struct Pcsx2Config static constexpr int DEFAULT_VIDEO_CAPTURE_WIDTH = 640; static constexpr int DEFAULT_VIDEO_CAPTURE_HEIGHT = 480; static constexpr int DEFAULT_AUDIO_CAPTURE_BITRATE = 192; + static constexpr int DEFAULT_AUDIO_CAPTURE_VOLUME = 100; static const char* DEFAULT_CAPTURE_CONTAINER; static constexpr int DEFAULT_SHADEBOOST_BRIGHTNESS = 50; @@ -879,6 +880,7 @@ struct Pcsx2Config int VideoCaptureWidth = DEFAULT_VIDEO_CAPTURE_WIDTH; int VideoCaptureHeight = DEFAULT_VIDEO_CAPTURE_HEIGHT; int AudioCaptureBitrate = DEFAULT_AUDIO_CAPTURE_BITRATE; + int AudioCaptureVolume = DEFAULT_AUDIO_CAPTURE_VOLUME; std::string Adapter; std::string HWDumpDirectory; diff --git a/pcsx2/Pcsx2Config.cpp b/pcsx2/Pcsx2Config.cpp index 47582cf075..8a13dff477 100644 --- a/pcsx2/Pcsx2Config.cpp +++ b/pcsx2/Pcsx2Config.cpp @@ -1069,6 +1069,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap) SettingsWrapBitfieldEx(VideoCaptureWidth, "VideoCaptureWidth"); SettingsWrapBitfieldEx(VideoCaptureHeight, "VideoCaptureHeight"); SettingsWrapBitfieldEx(AudioCaptureBitrate, "AudioCaptureBitrate"); + SettingsWrapBitfieldEx(AudioCaptureVolume, "AudioCaptureVolume"); SettingsWrapEntry(Adapter); SettingsWrapEntry(HWDumpDirectory);