コード例 #1
0
        /// <summary>
        /// 获取屏幕上所有音频和视频设备
        /// </summary>
        public string GetVideoAndAudioDev()
        {
            string           result  = "";
            DevState         state   = DevState.None;
            VideoAndAudioDev devs    = new VideoAndAudioDev();
            string           devName = string.Empty;

            MepgHelper.ExecVideoCommand(VideoAndAudioList,
                                        (sender, e) =>
            {
                state = MepgHelper.GetDevId(e.Data, state, ref devs, ref devName);
            },
                                        (sender, e) =>
            {
                _events.Publish(new DevListMessage {
                    Data = devs
                }, (t) => { Task.Factory.StartNew(t); });
            });
            return(result);
        }
コード例 #2
0
ファイル: MepgHelper.cs プロジェクト: wisexie/Tool
        public static DevState GetDevId(string msg, DevState state, ref VideoAndAudioDev dev, ref string devName)
        {
            if (!string.IsNullOrWhiteSpace(msg))
            {
                if (msg.Contains(VideoDevConst))
                {
                    state = DevState.VideoState;
                }
                else if (msg.Contains(AudioStateConst))
                {
                    state = DevState.AudioState;
                }
                else if (msg.Contains(DevIdConst))
                {
                    string devId = msg.Substring(msg.IndexOf(DevIdConst), msg.Length - msg.IndexOf(DevIdConst)).Replace(DevIdConst, "").Replace("\"", "").Trim();
                    switch (state)
                    {
                    case DevState.VideoState:
                        dev.Videos.Add(new VideoDev()
                        {
                            DevId = devId, DevName = EncoderHelper.ASCIToUtf8(devName)
                        });
                        break;

                    case DevState.AudioState:
                        dev.Audios.Add(new AudioDev()
                        {
                            DevId = devId, DevName = EncoderHelper.ASCIToUtf8(devName)
                        });
                        break;
                    }
                }
                devName = msg;
            }
            return(state);
        }