### Godot version

v4.0.beta17.official [c40020513]

### System information

Windows 11 Pro

### Issue description

In AnimationPlayer, Audio Playback Track does not work in the middle of playback, as in v3.5.1.stable.official [6fed1ffa3]

### Steps to reproduce

(Do on both versions)
Add root node -> Node
Add AnimationPlayer and AudioStreamPlayer
![image](https://user-images.githubusercontent.com/91904840/216308659-d0327455-73e9-48d6-93b3-b33f4c8f1ccc.png)

Add new animation, Add Audio Playback Track
Drag & Drop audio test.ogg on track with a time offset of 1
![image](https://user-images.githubusercontent.com/91904840/216308947-391718d9-1e9c-4418-9f82-3cc9b6075cff.png)

Play animation before the start of the track, at the beginning of the track and somewhere during the track (turn on the sound)

v 3.5.1

https://user-images.githubusercontent.com/91904840/216314742-80982bb9-23a3-4eb5-8e98-249c3531aa66.mp4

v 4.0.beta17


https://user-images.githubusercontent.com/91904840/216314798-23f212f2-c386-4dc1-8946-648e5f8f2467.mp4




You'll notice, that on version 4.0.beta17 Audio Playback Track does not work in the middle of playback!




### Minimal reproduction project

Normal playback
[godot_3.5.1.zip](https://github.com/godotengine/godot/files/10568517/godot_3.5.1.zip)

Cracked playback
[godot_4.0.beta17.zip](https://github.com/godotengine/godot/files/10568519/godot_4.0.beta17.zip)

ERR_FAIL_COND(!state);
	state->valid = false;
	if (!state->invalid_reasons.is_empty()) {
		state->invalid_reasons += "\n";
	}
	state->invalid_reasons += String::utf8("•  ") + p_reason;
}
double AnimationNode::blend_input(int p_input, double p_time, bool p_, bool p_is_external_ing, real_t p_blend, FilterAction p_filter, bool p_sync) {
	ERR_FAIL_INDEX_V(p_input, inputs.size(), 0);
	ERR_FAIL_COND_V(!state, 0);
	AnimationNodeBlendTree *blend_tree = Object::cast_to<AnimationNodeBlendTree>(parent);
	ERR_FAIL_COND_V(!blend_tree, 0);
	StringName node_name = connections[p_input];
	if (!blend_tree->has_node(node_name)) {
		String node_name2 = blend_tree->get_node_name(Ref<AnimationNode>(this));
		make_invalid(vformat(RTR("Nothing connected to input '%s' of node '%s'."), get_input_name(p_input), node_name2));
		return 0;
	}
	Ref<AnimationNode> node = blend_tree->get_node(node_name);
	//
	real_t activity = 0.0;
	double ret = _blend_node(node_name, blend_tree->get_node_connection_array(node_name), nullptr, node, p_time, p_, p_is_external_ing, p_blend, p_filter, p_sync, &activity);
	Vector<AnimationTree::Activity> *activity_ptr = state->tree->input_activity_map.getptr(base_path);
	if (activity_ptr && p_input < activity_ptr->size()) {
		activity_ptr->write[p_input].last_pass = state->last_pass;
		activity_ptr->write[p_input].activity = activity;
	}
	return ret;
}
double AnimationNode::blend_node(const StringName &p_sub_path, Ref<AnimationNode> p_node, double p_time, bool p_, bool p_is_external_ing, real_t p_blend, FilterAction p_filter, bool p_sync) {