The sounds which should be played at the player's position fetched via player:getpos() aren't played there if the player is not in the middle of the map.
If I walked outside 200 or -200 they become played quiet. Then if walk back until I'm inside 20 and waited a bit of time they have the usual sound volume.
I think player:getpos() works right because only the sounds played with minetest.sound_play() are affected.