public void Start([NotNull] ICommsNetwork network, [NotNull] IMicrophoneCapture microphone) { if (network == null) { throw new ArgumentNullException("network"); } if (microphone == null) { throw new ArgumentNullException("microphone"); } _microphone = microphone; _network = network; Net_ModeChanged(network.Mode); network.ModeChanged += Net_ModeChanged; }
public EncoderPipeline(IMicrophoneCapture mic, IVoiceEncoder encoder, ICommsNetwork net, Func <int> channelCount) { _mic = mic; _encoder = encoder; _net = net; _channelCount = channelCount; _encodedBytes = new byte[encoder.FrameSize * sizeof(float)]; _plainSamples = new float[encoder.FrameSize]; _inputFormat = mic.Format; //Create an input buffer with plenty of spare space _input = new BufferedSampleProvider(_inputFormat, Math.Max(_encoder.FrameSize * 2, mic.FrameSize * 2)); _resampler = new Resampler(_input, _encoder.SampleRate); //Whatever we did above, we need to read in frame size chunks _output = new SampleToFrameProvider(_resampler, (uint)encoder.FrameSize); }
public void Start([NotNull] ICommsNetwork network, [NotNull] IMicrophoneCapture microphone) { if (network == null) { throw new ArgumentNullException("network"); } if (microphone == null) { throw new ArgumentNullException("microphone"); } _microphone = microphone; _network = network; AudioSettingsWatcher.Instance.Start(); Net_ModeChanged(network.Mode); network.ModeChanged += Net_ModeChanged; _isMobilePlatform = IsMobilePlatform(); }