The situation of a circular area or volumetric sound:
First, In the attenuation settings, you can set a curve for spreading sound amongst speakers based on distance.
Go in the attenuation view, and select the Spread curve.
By default there is no spreading curve, simply add one.
(Spreading will be efficient for all sounds to diffuse directionality, not only "surface" sounds, but generally, you will use less spreading for point emitter source.)
Now you have a graph for this sound allowing to set spread parameter according to distance from sound.
When you are in a distance that sets a spread of 100%, the sound will simply ignore the directionality of the sound and play the sound equally in each speakers (based on speaker configuration and platform). At 0%, the sound is coming from one single direction.
So edit the graph for that spreading is 100%( you can try 90% too so you still have a little directionality ) from 0 distance unit to X distance units ( X could be a little less that the radius of the source).
Then you can linearly pass from 90-100% to 0 % over distance, based on how far your river is going to be heard (it will vary based on the type of sound).
Now, you just created a circular surface sound, where you can cross near or on the emitter without the sound jumping from front speakers to rear speakers. Also, when the player steps in the lake, it really feels like the river is surrounding the player.
This solution works perfectly for a round lake, but what if we have a river?
Here are three possible solutions.
First:
You can put multiple emitters in the river with equal distance from one to another. Each of these sources will consume CPU (you should always enable virtual voices for ambiance sounds in order to save CPU when the sound is too low to be heard anyway; virtual voices are very cheap in CPU and in memory, especially when they are in mode PlayFromBeginning).
You will also want to adjust volume attenuation curve so that it sound good when walking along the river and making sure the emitters are not too close one from the other so that volumes don't add up. Doing this you will get something that is not mathematically perfect, but the user will not notice it unless it is moving really fast along the river.
Second:
This method is similar to the first one, but much better. Instead of laying multiple game objects on the river, set multiple positions on a single game object, using the multi-directions mode. Using this mode, you won't have to be preoccupied by having points too close next to each other, as volumes don't add up. Refer to this article for more details about multi-positioning. Furthermore, only one voice will be playing in the Wwise sound engine, which is much more efficient.
Third:
In the case the river is really long and putting multiple emitters is not a viable option, then again, using the spread curve concept, make the game update the position of the river single emitter when the player is moving so that the position of the emitter is the position perpendicular to the river Vs player position.
This last solution might seem a little more complex to implement, but will be the most accurate solution and cheaper in CPU usage as only one sound will be played.