Beispiel #1
0
 public void CanGetWaveInMixerLine()
 {
     using (WaveIn waveIn = new WaveIn())
     {
         MixerLine line = waveIn.GetMixerLine();
         //Debug.WriteLine(String.Format("Mic Level {0}", level));
     }
 }
Beispiel #2
0
        private void TryGetVolumeControl()
        {
            int waveInDeviceNumber = this.recordingDeviceIndex;


            var mixerLine = waveIn.GetMixerLine();

            //new MixerLine((IntPtr)waveInDeviceNumber, 0, MixerFlags.WaveIn);
            foreach (var control in mixerLine.Controls)
            {
                if (control.ControlType == MixerControlType.Volume)
                {
                    this.volumeControl = control as UnsignedMixerControl;
                    MicrophoneLevel    = desiredVolume;
                    break;
                }
            }
        }
Beispiel #3
0
        private void TryGetVolumeControl()
        {
            int waveInDeviceNumber = waveIn.DeviceNumber;

            if (Environment.OSVersion.Version.Major >= 6) // Vista and over
            {
                var mixerLine = waveIn.GetMixerLine();
                //new MixerLine((IntPtr)waveInDeviceNumber, 0, MixerFlags.WaveIn);
                foreach (var control in mixerLine.Controls)
                {
                    if (control.ControlType == MixerControlType.Volume)
                    {
                        this.volumeControl = control as UnsignedMixerControl;
                        MicrophoneLevel    = desiredVolume;
                        break;
                    }
                }
            }
            else
            {
                var mixer = new Mixer(waveInDeviceNumber);
                foreach (var destination in mixer.Destinations)
                {
                    if (destination.ComponentType == MixerLineComponentType.DestinationWaveIn)
                    {
                        foreach (var source in destination.Sources)
                        {
                            if (source.ComponentType == MixerLineComponentType.SourceMicrophone)
                            {
                                foreach (var control in source.Controls)
                                {
                                    if (control.ControlType == MixerControlType.Volume)
                                    {
                                        volumeControl   = control as UnsignedMixerControl;
                                        MicrophoneLevel = desiredVolume;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #4
0
 protected AudioLevelManager(WaveIn waveDevice) : this(GetVolumeMixerControlForInputLine(waveDevice.GetMixerLine()))
 {
 }