private void OnAudioMixerFrame(AudioBuffer echoMixed) { if (IsSupported) { AcousticEchoCanceller.Render(echoMixed.Data, echoMixed.Index, echoMixed.Length); } }
public OpusEchoCanceller(int clockRate, int channels) { if (IsSupported) { AcousticEchoCanceller = new AcousticEchoCanceller(clockRate, channels, 300); AudioMixer = new AudioMixer(clockRate, channels, 20); AudioMixer.OnFrame += OnAudioMixerFrame; } }
public byte[] capture(AudioBuffer input) { if (IsSupported) { return(AcousticEchoCanceller.Capture(input.Data, input.Index, input.Length)); } else { return(BitAssistant.SubArray(input.Data, input.Index, input.Length)); } }
public byte[] Capture(AudioBuffer input) { return(AcousticEchoCanceller.Capture(input.Data, input.Index, input.Length)); }