MicBoom Class - Tracking camera movements

One question that came up for this side-scrolling platformer is how the audio should react when the camera distance varies based on the size of the game space or the player's actions, such as when the camera zooms in as he/she peaks around corners. On the one hand, if the audio listener (the "virtual microphone") doesn't track with the camera, the player loses the perspective provided by the audio. On the other hand, if the listener follows the camera too precisely, you wind up with odd doppler effects and extreme volume changes.

The solution was the 'MicBoom' class, which is a game object that hangs off of the main camera and can maintain either a fixed distance, or within parameterized boundaries, a relative distance between the camera and player. The speed with which the boom tracks the camera can be configured to avoid unwanted doppler and volume effects without having to change game parameters that would adversely affect other aspects of the audio.