When using RecorderController.onCurrentDuration stream, duration is twice (2x greater) the real recorded value, same with RecorderController.elapsedDuration.
With RecorderController.recordedDuration, value is right (after stop).
When PlayerController.maxDuration or PlayerController.onCurrentDurationChanged with Duration(milliseconds: valueInMs), duration is right.
Plugin v2.0.2
Pixel 8 with Android API 36.0
EDIT : this doesn't happen on iOS v18.6.2