public void SetDevice(DirectSoundDeviceInfo device, FunstimParameters parameters) { if (_device != null) { _device.Dispose(); OnDeviceRemoved(_device); } _device = new FunstimAudioDevice(device, parameters); OnDeviceFound(_device); }
public FunstimAudioDevice(DirectSoundDeviceInfo device, FunstimParameters parameters) { Name = "Funstim - " + device.Description; _soundOut = new DirectSoundOut(device.Guid); try { List <int> frequencies = Array.ConvertAll(parameters.Frequencies.Split(','), int.Parse).Where(x => x != 0).ToList(); _provider = new FunstimSampleProvider(frequencies, (int)parameters.FadeMs.TotalMilliseconds, parameters.FadeOnPause); _soundOut.Init(_provider); _soundOut.Play(); MinDelayBetweenCommands = TimeSpan.Zero; } catch (FormatException e) { } }