示例#1
0
        public List <string> GetActiveDevices()
        {
            _lib.RescanActiveDevices();

            List <string> devices = new List <string>();

            CecLogicalAddresses addresses = _lib.GetActiveDevices();

            for (int i = 0; i < addresses.Addresses.Length; i++)
            {
                CecLogicalAddress address = (CecLogicalAddress)i;
                if (!addresses.IsSet(address))
                {
                    continue;
                }

                string device = String.Empty;

                device += _lib.ToString(_lib.GetDeviceVendorId(address)) + ',';
                device += _lib.GetDeviceOSDName(address) + ',';
                device += _lib.ToString(_lib.GetDevicePowerStatus(address)) + ',';
                device += _lib.IsActiveDevice(address).ToString() + ',';
                device += _lib.GetDevicePhysicalAddress(address).ToString();

                devices.Add(device);
            }

            return(devices);
        }