You can set an event instance to only be spatialized by certain listeners with Studio::EventInstance::setListenerMask.
That being said, there might be a better way to achieve the behavior you want… Depending on what that behavior is, of course.
Before I can talk about other ways of doing things, though, I need to talk a little about how listeners work.
It’s easy to think of a listener as a kind of “virtual microphone” in the game world, but that’s actually not what they are: They don’t pick up audio signals. In fact, they can’t process audio at all. It may seem counter-intuitive, but Listeners don’t actually listen.
Instead, a listener is just a set of co-ordinates that describes a point in space. The FMOD Engine passes these co-ordinates to each event instance in your game, and each event instance uses the co-ordinates to calculate how its effects and parameters should affect that instance’s output.
So, now that we’re on the same page… What do you actually want to achieve by having different events use different listeners?
I ask because there’s two different points in space you want to be important (the avatar’s head and the camera), and two different processes that are involved in spatialization (attenuation and panning). While it’s occasionally useful to use different attenuation for different events, it’s extremely rare to want to use different panning, especially when the positions used to panning are in close proximity.