浏览代码

Merge pull request #99759 from Mickeon/audio-stream-player-3d-seek-fix-for-real

Fix AudioStreamPlayer2D/3D's `get_playback_position` returning `0` right after calling `seek`
Rémi Verschelde 9 月之前
父节点
当前提交
ca1440fafb
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 3 0
      scene/2d/audio_stream_player_2d.cpp
  2. 3 0
      scene/3d/audio_stream_player_3d.cpp

+ 3 - 0
scene/2d/audio_stream_player_2d.cpp

@@ -253,6 +253,9 @@ bool AudioStreamPlayer2D::is_playing() const {
 }
 
 float AudioStreamPlayer2D::get_playback_position() {
+	if (setplay.get() >= 0) {
+		return setplay.get(); // play() has been called this frame, but no playback exists just yet.
+	}
 	return internal->get_playback_position();
 }
 

+ 3 - 0
scene/3d/audio_stream_player_3d.cpp

@@ -579,6 +579,9 @@ bool AudioStreamPlayer3D::is_playing() const {
 }
 
 float AudioStreamPlayer3D::get_playback_position() {
+	if (setplay.get() >= 0) {
+		return setplay.get(); // play() has been called this frame, but no playback exists just yet.
+	}
 	return internal->get_playback_position();
 }