One of my frequent use-cases is to play music from a folder and all it’s sub-folders in random order. This can be achieved simply using vlc.
vlc /your/location/ -ZL --no-repeat
-Z is for shuffle,
-L is for loop and
--no-repeat is needed so that it repeats all, not just a single file. For further information on vlc and its use read the manpage.