I just faced similar issue and I've work around for this
Just add a delay of mew milliseconds or one second like this before calling play() method
await Future.delayed(const Duration(seconds: 1));
Again This is just a work around;)