Exemplo n.º 1
0
        public async void GetMiracast()
        {
            Projection p = new Projection();

            while (this.ScreenMiracast)
            {
                MiracastLibrary s = await p.GetDeviceList();

                this.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    foreach (AreaParty.info.miracast.Screen sc in s.value)
                    {
                        MyListBoxItem temp = new MyListBoxItem {
                            Name = sc.name, ImagePath = "/styles/skin/item/item_tv.png"
                        };
                        if (!Miracast.Contains(temp))
                        {
                            Miracast.Add(new MyListBoxItem {
                                Name = sc.name, ImagePath = "/styles/skin/item/item_tv.png"
                            });
                        }
                    }
                });
                Thread.Sleep(1000);
            }
        }
Exemplo n.º 2
0
        private static DeviceInformationCollection deviceInfoColl = null;                                                                                                                                             //设备信息集合
        /// <summary>
        /// 获取mriacast设备列表
        /// </summary>
        /// <returns></returns>
        public async Task <MiracastLibrary> GetDeviceList()
        {
            try
            {
                MiracastLibrary library = new MiracastLibrary(new List <info.miracast.Screen>());
                deviceInfoColl = await DeviceInformation.FindAllAsync(aqsFilter);

                for (int i = 0; i < deviceInfoColl.Count; i++)
                {
                    library.value.Add(new info.miracast.Screen(deviceInfoColl[i].Name, i));
                }
                //string json = JsonConvert.SerializeObject(library);
                return(library);
            }
            catch (Exception e)
            {
                log.Error("读取MIRACAST设备出错", e);
                return(new MiracastLibrary(new List <info.miracast.Screen>()));
            }
        }