public WaveSplitter(IWaveProvider input, int count) { this.input = input; splitters = new SplitProvider[count]; for (int i = 0; i < count; i++) { splitters[i] = new SplitProvider(this); } readBuffer = new byte[input.WaveFormat.AverageBytesPerSecond]; }
public static async Task <IFeatureProvider> GetProvider(string providerName) { IFeatureProvider provider = null; Provider providerEnum = Provider.None; if (Enum.TryParse <Provider>(providerName.ToLower(), out providerEnum)) { switch (providerEnum) { case Provider.split: provider = new SplitProvider(); break; case Provider.rollout: provider = new RolloutProvider(); break; case Provider.featureflow: provider = new FeatureFlowProvider(); break; case Provider.optimizely: provider = new OptimizelyProvider(); break; case Provider.launchdarkly: provider = new LaunchDarklyProvider(); break; } } else { throw new Exception($"[{providerName}] is not a valid provider. Kindly select one of the available Providers: [{Enum.GetValues(typeof(Provider))}]"); } await provider.Initialize(); return(provider); }