Engine: split out a method for adjusting audio clip volume

This also fixes a bug that caused MP3 clip continuously increase its base volume if the directional modifier was applied