/// <summary>
 /// Constructor used to set all 3D channel properties. Please refer to the Vivox Core Unreal Developer Guide for recommendations on picking values for different 3D scenarios.
 /// </summary>
 /// <param name="audibleDistance">The maximum distance from the listener that a speaker can be heard. Must be &gt; 0</param>
 /// <param name="conversationalDistance">The distance from the listener within which a speaker’s voice is heard at its original volume. Must be &gt;= 0 and &lt;= audibleDistance.</param>
 /// <param name="audioFadeIntensityByDistanceaudio">How strong the effect of the audio fade is as the speaker moves away from the listener. Must be &gt;= 0. This value will be rounded to three decimal places</param>
 /// <param name="audioFadeModel">The model used to determine how loud a voice is at different distances.</param>
 public Channel3DProperties(int audibleDistance, int conversationalDistance, float audioFadeIntensityByDistanceaudio, AudioFadeModel audioFadeModel)
 {
     _audibleDistance              = audibleDistance;
     _conversationalDistance       = conversationalDistance;
     _audioFadeIntensityByDistance = audioFadeIntensityByDistanceaudio;
     _audioFadeModel = audioFadeModel;
 }
 /// <summary>
 /// Default constructor that sets fields to their suggested values.
 /// </summary>
 public Channel3DProperties()
 {
     _audibleDistance              = 32;
     _conversationalDistance       = 1;
     _audioFadeIntensityByDistance = 1.0f;
     _audioFadeModel = AudioFadeModel.InverseByDistance;
 }
        internal Channel3DProperties(string properties)
        {
            Regex regex   = new Regex(@"([^-]+)-([^-]+)-([^-]+)-([^-]+)");
            var   matches = regex.Matches(properties);

            _audibleDistance              = int.Parse(matches[0].Groups[1].Value);
            _conversationalDistance       = int.Parse(matches[0].Groups[2].Value);
            _audioFadeIntensityByDistance = float.Parse(matches[0].Groups[3].Value);
            _audioFadeModel = (AudioFadeModel)int.Parse(matches[0].Groups[4].Value);
        }