瀏覽代碼

Fix AudioStreamPlayer2D/3D's `get_playback_position` returning `0` right after calling `seek`

Micky 9 月之前
父節點
當前提交
99cbcd250a
共有 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

@@ -582,6 +582,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();
 }