You are under a misunderstanding here. The ls does nothing useful. mplayer does not read input for a list of files. The reason it happens to work is because . matches any file with a dot in the middle of the name and certainly matches any file ending in .ogg. mplayer probably ignores the non .ogg files.
ls -R
give the list of all files in sub-directories
ls -R *.ogg|mplayer .
i have nothing…
please help with advise on my question.
Try this:
find . -name '*.ogg' -print0 | xargs -0 mplayer
This also handles files with spaces in them by the way. You’d have to read up on find and xargs to understand how this works.