Browse Source

Merge pull request #82478 from jsjtxietian/fix-AudioStreamRandomizer-random_volume_offset_db-not-working

Fix `AudioStreamRandomizer.random_volume_offset_db` not working
Rémi Verschelde 1 năm trước cách đây
mục cha
commit
34e34f0945
1 tập tin đã thay đổi với 5 bổ sung1 xóa
  1. 5 1
      servers/audio/audio_stream.cpp

+ 5 - 1
servers/audio/audio_stream.cpp

@@ -810,7 +810,11 @@ void AudioStreamPlaybackRandomizer::tag_used_streams() {
 
 int AudioStreamPlaybackRandomizer::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
 	if (playing.is_valid()) {
-		return playing->mix(p_buffer, p_rate_scale * pitch_scale, p_frames);
+		int mixed_samples = playing->mix(p_buffer, p_rate_scale * pitch_scale, p_frames);
+		for (int samp = 0; samp < mixed_samples; samp++) {
+			p_buffer[samp] *= volume_scale;
+		}
+		return mixed_samples;
 	} else {
 		for (int i = 0; i < p_frames; i++) {
 			p_buffer[i] = AudioFrame(0, 0);