示例#1
0
文件: Mic.cs 项目: namse/MuGeonGi
        public void SetDevice(string deviceTag)
        {
            var device = AvailableDevices.Find(availableDevice => availableDevice.ToString() == deviceTag);

            // TODO: device 바꾸면 연결된게 다 나갈라지 않나요?
            SoundIn.Device = device;
        }
示例#2
0
        /// <summary>
        /// Осуществляет активный поллинг-опрос,
        /// должен вызываться каждый кадр
        /// </summary>
        public void DevicesCheckPolling()
        {
            //проверка, не отключены ли текущие устройства
            for (var i = 0; i < AvailableDevices.Count; i++)
            {
                if (AvailableDevices[i].DeviceNumId != KEYBOARD_DEVICE_SPECIAL_ID)
                {
                    if (!AvailableDevices[i].IsJoystickValidAndAvailable())
                    {
                        AvailableDevices[i].Dispose();
                        DeviceRemove(i);
                        i--;
                    }
                }
            }

            //проверка, не подключены ли новые устройства
            for (var j = 0; j < MAX_GAMEPADS_NUMBER; j++)
            {
                //проверим, что устройство с таким идентификатором нам не известно
                if (AvailableDevices.Find(parX => parX.DeviceNumId == j) == null)
                {
                    var state = GamePad.GetState(j);
                    if (state.IsConnected)
                    {
                        //да, это явно новое устройство и нам нужно его зарегистрировать
                        DeviceAdd(new MDeviceOpenTk(j, GamePad.GetName(j), GamePad.GetName(j), OpenTkAppView));
                    }
                }
            }
        }
示例#3
0
文件: Speaker.cs 项目: namse/MuGeonGi
        internal void SetDevice(string deviceTag)
        {
            var device = AvailableDevices.Find(availableDevice => availableDevice.ToString() == deviceTag);

            // TODO: device 바꾸면 연결된게 다 나갈라지 않나요?
            _soundOut.Device = device;
        }
示例#4
0
        public Task SetCastRenderer(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(SetNullCastRenderer());
            }
            var renderer = AvailableDevices.Find(d => d.Id == id);

            return(renderer is null?SetNullCastRenderer() : SetCastRenderer(renderer));
        }
示例#5
0
        public Task SetCastRenderer(string host, int port)
        {
            if (!AvailableDevices.Any(d => d.Host == host && d.Port == port))
            {
                AvailableDevices.Add(Receiver.Default(host, port));
            }

            var renderer = AvailableDevices.Find(d => d.Host == host && d.Port == port);

            return(SetCastRenderer(renderer));
        }