/// <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; }
// `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) { }
// `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; }