public void RefreshAudioSources() { AvailableAudioSources.Clear(); AvailableAudioSources.Add(NoSoundSource); foreach (var dev in WaveInDevice.Enumerate()) { AvailableAudioSources.Add(dev); } foreach (var dev in LoopbackProvider.EnumerateDevices()) { AvailableAudioSources.Add(dev); } SelectedAudioSource = NoSoundSource; }
public IAudioProvider GetAudioSource(int FrameRate, out WaveFormat Wf) { Wf = new WaveFormat(44100, 16, Stereo ? 2 : 1); IAudioEncoder audioEncoder = SelectedBitRate != 0 && IsLamePresent && Encode ? new Mp3EncoderLame(Wf.Channels, Wf.SampleRate, SelectedBitRate) : null; if (SelectedAudioSource is WaveInDevice) { return(new WaveInProvider(SelectedAudioSource as WaveInDevice, Wf)); } if (!(SelectedAudioSource is MMDevice)) { return(null); } IAudioProvider audioSource = new LoopbackProvider((MMDevice)SelectedAudioSource); Wf = audioSource.WaveFormat; return(audioEncoder == null ? audioSource : new EncodedAudioProvider(audioSource, audioEncoder)); }
public IAudioProvider GetAudioSource(int FrameRate, out WaveFormat Wf) { Wf = new WaveFormat(44100, 16, Stereo ? 2 : 1); IAudioEncoder audioEncoder = SelectedBitRate != 0 && IsLamePresent && Encode ? new Mp3EncoderLame(Wf.Channels, Wf.SampleRate, SelectedBitRate) : null; if (SelectedAudioSource is WaveInDevice) return new WaveInProvider(SelectedAudioSource as WaveInDevice, Wf, FrameRate); if (!(SelectedAudioSource is MMDevice)) return null; IAudioProvider audioSource = new LoopbackProvider((MMDevice)SelectedAudioSource); Wf = audioSource.WaveFormat; return audioEncoder == null ? audioSource : new EncodedAudioProvider(audioSource, audioEncoder); }