private void InputDeviceStart()
        {
            InputDeviceStop();

            if (!devp_.InputEnable.Value)
            {
                return;
            }

            try {
                var dev_no = MicDeviceInfo.GetDeviceNo(devp_.InputDeviceId.Value);

                if (dev_no < 0)
                {
                    return;
                }

                var dev_info = WaveIn.GetCapabilities(dev_no);

                wave_in_ = new WaveIn(WaveCallbackInfo.FunctionCallback());
                wave_in_.DataAvailable += OnWaveIn_DataAvailable;
                wave_in_.DeviceNumber   = dev_no;
                wave_in_.WaveFormat     = new WaveFormat(
                    (int)devp_.InputSamplingRate.Value,
                    (int)devp_.InputBitsPerSample.Value,
                    Math.Min((int)devp_.InputChannelNum.Value, dev_info.Channels));

                /* 入力開始 */
                wave_in_.StartRecording();
            } catch {
                InputDeviceStop();
            }
        }
Exemple #2
0
 public override string GetStatusString()
 {
     return(String.Format(
                "{0:G}:({1:G}Hz,{2:G}Bits,{3:G})",
                MicDeviceInfo.GetDeviceText(InputDeviceId.Value),
                InputSamplingRate.Value,
                InputBitsPerSample.Value,
                InputChannelNum.Value.ToString()));
 }