浏览代码

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 年之前
父节点
当前提交
34e34f0945
共有 1 个文件被更改,包括 5 次插入1 次删除
  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);