Currently mpv is used but it doesn't seem easy to implement cross platform.
pydub
Or
pygame
pydub has features that are sufficient, including the ability to get the length which would help to produce a progress bar. Requires using ffmpeg or libav for other formats.