/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="model"></param>
        /// <param name="sampleRate"></param>
        /// <param name="audioFormatType"></param>
        /// <param name="audioFormatEncoding"></param>
        public SmRtApiConfigBase(string model,
                                 int sampleRate,
                                 AudioFormatType audioFormatType,
                                 AudioFormatEncoding audioFormatEncoding)
        {
            if (audioFormatType == AudioFormatType.File && audioFormatEncoding != AudioFormatEncoding.File ||
                audioFormatEncoding == AudioFormatEncoding.File && audioFormatType != AudioFormatType.File)
            {
                throw new ArgumentException("audioFormatType and audioFormatEncoding must both be File");
            }

            try
            {
                var unused = new CultureInfo(model);
            }
            catch (CultureNotFoundException ex)
            {
                throw new ArgumentException($"Invalid language code {model}", ex);
            }

            Model               = model;
            SampleRate          = sampleRate;
            AudioFormat         = audioFormatType;
            AudioFormatEncoding = audioFormatEncoding;
            BlockSize           = 2048;
        }
Exemple #2
0
 //   `AudioFormatSubMessage: {type: "raw", encoding: "pcm_s16le", sample_rate: 44100}`
 /// <summary>
 ///
 /// </summary>
 /// <param name="audioFormatType"></param>
 /// <param name="encoding"></param>
 /// <param name="sampleRate">in Hz</param>
 public AudioFormatSubMessage(AudioFormatType audioFormatType, AudioFormatEncoding encoding, int sampleRate)
 {
     type = audioFormatType.ToApiString();
     if (audioFormatType == AudioFormatType.File)
     {
         this.encoding = null;
         sample_rate   = 0;
         return;
     }
     this.encoding = encoding.ToApiString();
     sample_rate   = sampleRate;
 }
 public SmRtApiConfig(string model, int sampleRate, AudioFormatType audioFormatType, AudioFormatEncoding audioFormatEncoding) : base(model, sampleRate, audioFormatType, audioFormatEncoding)
 {
 }
Exemple #4
0
 //   `AudioFormatSubMessage: {type: "raw", encoding: "pcm_s16le", sample_rate: 44100}`
 /// <summary>
 ///
 /// </summary>
 /// <param name="audioFormatType"></param>
 /// <param name="encoding"></param>
 /// <param name="sampleRate">in Hz</param>
 public AudioFormatSubMessage(AudioFormatType audioFormatType, AudioFormatEncoding encoding, int sampleRate)
 {
     type          = audioFormatType.ToApiString();
     this.encoding = encoding.ToApiString();
     sample_rate   = sampleRate;
 }