How to detect animation is blending?

Godot Version

godot 4.2.1

Question

play a foot sound, when the character moves, in each animation (walking, running, aiming) the moment the left foot touches the ground and the moment the right foot touches the ground

As shown in the image below, we played the footstep sound using the method call key frame
transitionman

Walking, running, and aiming walking were handled using an animation tree, and the transitions between each animation used a state machine within the animation tree.

When switching between states, the time is set to 0.2 seconds on xfade, and the curve is set to an upward-right straight line
footstepman

When i do this, the footsteps play well, but it’s also played in blending between animations, the method call keyframe of each animation works

Sound is just playing at the same time.

Is there a way to block the call of a keyframe event on the other side when the animation is blending or to detect if the animation is currently blending?

I only know that AnimationPlayer has a signal called “is_playing()”, which can be used to check if this AnimationPlayer is playing any animation