/// <summary>
        /// 初始化窗口信息
        /// </summary>
        public void initInfo()
        {
            logger.Info("初始化窗口[" + _index + "]信息");
            if (!onePlayerPanel.Visible)
            {
                onePlayerPanel.Visible = true;
            }

            VideoPlayModel v = messageModel.videoData;

            tittleLibel.Text = v.theme;   //视频主题
            if (!v.isCamera)
            {
                tittleLibel.Text = messageModel.videoData.title == null || "".Equals(messageModel.videoData.title) ? messageModel.videoData.liveMemberName : messageModel.videoData.title;
            }

            if (v.isCamera && messageModel.watchSubordinateLiveMessageBean.isThisPlatform &&
                v.terminalMemberType == "TERMINAL_PAD_VEHICULAR")
            {
                cameraSwitch.Visible = true;
            }
            else
            {
                cameraSwitch.Visible = false;
            }
        }
        private void TagContainer_TagClick(TagBase arg1, RoutedEventArgs arg2)
        {
            RealtimePlayWindow realPlayWindow = new RealtimePlayWindow(400, 300);

            realPlayWindow.Loaded += (s, e) =>
            {
                VideoPlayModel playModel = new VideoPlayModel
                {
                    Ip         = "192.168.28.136",
                    Port       = 8000,
                    Channel    = 1,
                    UserName   = "******",
                    Password   = "******",
                    StreamType = 0
                };

                realPlayWindow.RealPlayer.PlayHelper = new VideoPlayHelper();
                Task.Factory.StartNew(() =>
                {
                    Thread.Sleep(1000);
                    Dispatcher.Invoke(() =>
                    {
                        realPlayWindow.RealPlayer.StartPlay(playModel);
                    });
                });
            };

            realPlayWindow.Show();
        }
        public void closeRtsp(bool isLeave)
        {
            logger.Info("将要关闭窗口[" + key + "]上的流");

            try
            {
                VideoPlayModel v = messageModel.videoData;

                if (isLeave)
                {
                    if (v.isCamera && !messageModel.watchSubordinateLiveMessageBean.isThisPlatform)
                    {
                        mainForm.tcpServerService.notifyHangupVideoChild(v.liveMemberNo, v.isCamera, messageModel.watchSubordinateLiveMessageBean);
                    }
                    else if (v.streamType == "RTSP")
                    {
                        mainForm.tcpServerService.notifyHangupVideo(v);
                    }
                }

                //关闭视频
                int ret = PlayerSdk.EasyPlayer_CloseStream(channelId);
                logger.Info("关闭视频是否成功:" + ret);
                if (ret == 0)
                {
                    //关闭音频
                    int audioStatus = PlayerSdk.EasyPlayer_PlaySound(channelId);
                    logger.Info("关闭音频是否成功:" + audioStatus);
                    channelId = 0;

                    videoPlayStatus   = false;
                    audioPlayedStatus = false;

                    //关闭后隐藏
                    onePlayerPanel.Visible = false;
                    titlePanel.Visible     = false;
                    comBtnPanel.Visible    = false;
                    ptzPanel.Visible       = false;

                    //清空保存的播放参数
                    this.messageModel = null;
                    this.key          = "";

                    //全屏播放窗口关闭后,还原窗口
                    if (mainForm.checkFullScreenWinByKey(key))
                    {
                        mainForm.changeFullScreen(null);
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("", e);
            }
        }
        public void notifyHangupVideo(VideoPlayModel videoData)
        {
            Dictionary <string, object> parameter = new Dictionary <string, object>();

            parameter.Add("memberNo", videoData.liveMemberNo);
            parameter.Add("videoMessageType", "stop");
            parameter.Add("videoData", videoData);
            string content = JsonConvert.SerializeObject(parameter);

            sendMessage(content);
        }
Exemple #5
0
        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            VideoPlayModel playModel = new VideoPlayModel
            {
                Ip         = "192.168.28.136",
                Port       = 8000,
                Channel    = 1,
                UserName   = "******",
                Password   = "******",
                StreamType = 0
            };

            realtimeMonitorView.Player?.StartPlay(playModel);
        }
        private void Pushbutton_Click(object sender, EventArgs e)
        {
            VideoPlayModel v = messageModel.videoData;

            if (!v.isCamera)
            {
                //mainForm.tcpServerService.notifyPush(v.liveMemberNo, v.isCamera, v.rtspUrl, v.callId,v.streamType, null);
                mainForm.tcpServerService.notifyPush(v);
            }
            else
            {
                //mainForm.tcpServerService.notifyPush(v.liveMemberNo, v.isCamera, null, null, v.streamType,messageModel.watchSubordinateLiveMessageBean);
                mainForm.tcpServerService.notifyPush(v);
            }
        }
        public void setMessageModel(MessageModel messageModel)
        {
            this.messageModel = messageModel;

            VideoPlayModel videoPlayModel = messageModel.videoData;
            string         callId         = messageModel.videoData.callId;

            if (videoPlayModel.isCamera)
            {
                string platName = messageModel.watchSubordinateLiveMessageBean.liverPlatform;
                this.key = messageModel.memberNo + "_" + callId + "_" + platName;
            }
            else
            {
                this.key = messageModel.memberNo + "_" + callId;
            }
        }
        //推送到分屏
        public void notifyPush2Split(VideoPlayModel videoData)
        {
            if (videoData == null)
            {
                return;
            }

            Dictionary <string, object> parameter = new Dictionary <string, object>();

            parameter.Add("memberNo", videoData.liveMemberNo);
            parameter.Add("uniqueNo", videoData.liveMemberUniqueNo);
            parameter.Add("videoMessageType", "push2Split");
            parameter.Add("videoData", videoData);

            string content = JsonConvert.SerializeObject(parameter);

            sendMessage(content);
        }
        //主窗体推送
        public void notifyPush(List <VideoPlayModel> videoPlays)
        {
            if (videoPlays == null || videoPlays.Count == 0)
            {
                return;
            }

            VideoPlayModel videoData = videoPlays[0];

            Dictionary <string, object> parameter = new Dictionary <string, object>();

            parameter.Add("memberNo", videoData.liveMemberNo);
            parameter.Add("uniqueNo", videoData.liveMemberUniqueNo);
            parameter.Add("videoMessageType", "pushMany");
            parameter.Add("videoDataList", videoPlays);

            string content = JsonConvert.SerializeObject(parameter);

            sendMessage(content);
        }
Exemple #10
0
        public long StartPlay(IPlayModel playParam)
        {
            VideoPlayModel playModel = playParam as VideoPlayModel;

            return(SMClient.Instance.StartPreview(playModel.ScreenHandle, playModel.Ip, playModel.Port, playModel.UserName, playModel.Password, playModel.Channel, playModel.StreamType));
        }