コード例 #1
0
        public Form1()
        {
            InitializeComponent();
            mRawCaptures   = new List <RawCapture>();
            mArrayCaptures = new List <ArrayCapture>();
            AudioWaveFormatInterop arrayFormat = new AudioWaveFormatInterop(kNumSamplesPerSec, 1);
            AudioWaveFormatInterop rawFormat   = new AudioWaveFormatInterop(kNumSamplesPerSec, 4);
            AudioDeviceInterop     devices     = new AudioDeviceInterop(AudioDeviceTypeInterop.CaptureDevice);

            for (int i = 0; i < devices.NumDevices; i++)
            {
                AudioDeviceInfoInterop info = devices.GetDeviceInfo(i);
                if (mMicDeviceToFilename.ContainsKey(info.DeviceName))
                {
                    mRawCaptures.Add(new RawCapture(info.DeviceName, info.DeviceID, rawFormat));
                    string kinectId = mMicDeviceToKinectId[info.DeviceName];
                    mArrayCaptures.Add(new ArrayCapture(kinectId, arrayFormat));
                }
            }

            if (!Directory.Exists(kOutputFolder))
            {
                Directory.CreateDirectory(kOutputFolder);
            }
        }
コード例 #2
0
        public ArrayCapture(string kinectId, AudioWaveFormatInterop format)
        {
            mMic = new AudioMicArrayCaptureInterop(kinectId, format, MicDataCallback, kCallbackIntervalInMilliSec);

            mNumSamplesPerSec = (int)format.nSamplesPerSec;
            mNumChannels      = (short)format.nChannels;
            DeviceId          = kinectId;
            mIsCapturing      = false;
        }
コード例 #3
0
        public RawCapture(string deviceName, string deviceId, AudioWaveFormatInterop format)
        {
            mMic = new AudioMicCaptureInterop(deviceId, format, MicDataCallback, kCallbackIntervalInMilliSec);

            mNumSamplesPerSec = (int)format.nSamplesPerSec;
            mNumChannels      = (short)format.nChannels;

            DeviceName   = deviceName;
            mIsCapturing = false;
        }