コード例 #1
0
        private void UpdateDeviceList()
        {
            {
                mWasapiPlay.EnumerateDevices(WasapiCS.DeviceType.Play);
                string prevDevice = string.Empty;
                if (0 <= listBoxPlayDevices.SelectedIndex)
                {
                    prevDevice = listBoxPlayDevices.SelectedItem as string;
                }

                mPlayDeviceIdStringList.Clear();
                listBoxPlayDevices.Items.Clear();
                for (int i = 0; i < mWasapiPlay.GetDeviceCount(); ++i)
                {
                    var attr = mWasapiPlay.GetDeviceAttributes(i);
                    listBoxPlayDevices.Items.Add(attr.Name);
                    mPlayDeviceIdStringList.Add(attr.DeviceIdString);
                    if (attr.Name.Equals(prevDevice))
                    {
                        listBoxPlayDevices.SelectedIndex = i;
                    }
                }

                if (listBoxPlayDevices.SelectedIndex < 0 && 0 < listBoxPlayDevices.Items.Count)
                {
                    listBoxPlayDevices.SelectedIndex = 0;
                }
            }

            {
                mWasapiRec.EnumerateDevices(WasapiCS.DeviceType.Rec);
                string prevDevice = string.Empty;
                if (0 <= listBoxRecDevices.SelectedIndex)
                {
                    prevDevice = listBoxRecDevices.SelectedItem as string;
                }

                mRecDeviceIdStringList.Clear();
                listBoxRecDevices.Items.Clear();
                for (int i = 0; i < mWasapiRec.GetDeviceCount(); ++i)
                {
                    var attr = mWasapiRec.GetDeviceAttributes(i);
                    mRecDeviceIdStringList.Add(attr.DeviceIdString);
                    listBoxRecDevices.Items.Add(attr.Name);
                    if (attr.Name.Equals(prevDevice))
                    {
                        listBoxRecDevices.SelectedIndex = i;
                    }
                }

                if (listBoxRecDevices.SelectedIndex < 0 && 0 < listBoxRecDevices.Items.Count)
                {
                    listBoxRecDevices.SelectedIndex = 0;
                }
            }

            UpdateButtonStartStop(ButtonStartStopState.StartEnable);
        }
コード例 #2
0
        public bool EnumerateDevices()
        {
            int ercd = mWasapi.EnumerateDevices(Wasapi.WasapiCS.DeviceType.Play);

            if (ercd < 0)
            {
                Console.WriteLine("PlaybackController::EnumerateDevices() failed {0}", ercd);
                return(false);
            }

            return(true);
        }
コード例 #3
0
        private void UpdateDeviceList()
        {
            {
                mWasapiPlay.EnumerateDevices(WasapiCS.DeviceType.Play);
                string prevDevice = string.Empty;
                if (0 <= listBoxPlayDevices.SelectedIndex)
                {
                    prevDevice = listBoxPlayDevices.SelectedItem as string;
                }

                listBoxPlayDevices.Items.Clear();
                for (int i = 0; i < mWasapiPlay.GetDeviceCount(); ++i)
                {
                    var attr = mWasapiPlay.GetDeviceAttributes(i);
                    listBoxPlayDevices.Items.Add(attr.Name);
                    if (attr.Name.Equals(prevDevice))
                    {
                        listBoxPlayDevices.SelectedIndex = i;
                    }
                }
            }

            {
                mWasapiRec.EnumerateDevices(WasapiCS.DeviceType.Rec);
                string prevDevice = string.Empty;
                if (0 <= listBoxRecDevices.SelectedIndex)
                {
                    prevDevice = listBoxRecDevices.SelectedItem as string;
                }

                listBoxRecDevices.Items.Clear();
                for (int i = 0; i < mWasapiRec.GetDeviceCount(); ++i)
                {
                    var attr = mWasapiRec.GetDeviceAttributes(i);
                    listBoxRecDevices.Items.Add(attr.Name);
                    if (attr.Name.Equals(prevDevice))
                    {
                        listBoxRecDevices.SelectedIndex = i;
                    }
                }
            }

            if (0 < listBoxPlayDevices.Items.Count &&
                0 < listBoxRecDevices.Items.Count)
            {
                buttonStart.IsEnabled = true;
            }
            else
            {
                buttonStart.IsEnabled = false;
            }
        }
コード例 #4
0
        public int EnumerateRecDeviceNames(List <WasapiCS.DeviceAttributes> deviceList)
        {
            mDeviceAttributeList.Clear();
            deviceList.Clear();

            int hr = mWasapi.EnumerateDevices(WasapiCS.DeviceType.Rec);

            if (hr < 0)
            {
                return(hr);
            }

            int nDevices = mWasapi.GetDeviceCount();

            for (int i = 0; i < nDevices; ++i)
            {
                var att = mWasapi.GetDeviceAttributes(i);
                mDeviceAttributeList.Add(att);
                deviceList.Add(att);
            }

            return(hr);
        }