Beispiel #1
0
 public void StopAll()
 {
     foreach (var region in Regions)
     {
         if (region.IsDisplaying && region.SessionId != IntPtr.Zero)
         {
             HkAction.Stop(region.SessionId);
         }
     }
     SelectedIndex = 0;
 }
Beispiel #2
0
        public void Play(string cameraId)
        {
            var region = GetCurrentDisplayRegion();

            if (region.IsDisplaying && region.SessionId != IntPtr.Zero)
            {
                HkAction.Stop(region.SessionId);
            }
            region.SessionId = HkAction.AllocSession();
            if (region.SessionId != null && !string.IsNullOrEmpty(cameraId))
            {
                var playStatus = HkAction.Play(region.DisplayHandler, cameraId, region.SessionId);
                if (playStatus)
                {
                    region.IsDisplaying = true;
                    SelectedIndex       = SelectedIndex >= Regions.Count - 1 ? 0 : (SelectedIndex + 1);
                }
            }
        }
Beispiel #3
0
 public void stopVedio()
 {
     //停止所有播放
     foreach (IntPtr temp in m_SessionIdList)
     {
         try
         {
             m_bPlay = HkAction.Stop(temp);
             if (m_bPlay)
             {
                 m_strContent = "停止视频成功!";
                 Write(m_strContent);
             }
         }
         catch (Exception ex)
         {
             //MessageBox.Show("异常" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
             m_strContent = "停止视频异常!" + ex.ToString();
             Write(m_strContent);
         }
     }
 }
Beispiel #4
0
        private void MakeRegions(int row, int columns)
        {
            int index = 0;

            for (int rowIndex = 0; rowIndex < row; rowIndex++)
            {
                for (int columnIndex = 0; columnIndex < columns; columnIndex++)
                {
                    if (Regions.Count < (row * columns))
                    {
                        if (Regions.Count <= index)
                        {
                            Regions.Add(new RegionInfo()
                            {
                                ColumnIndex = columnIndex, RowIndex = rowIndex, Index = index
                            });
                        }
                    }
                    else if (Regions.Count > (row * columns))
                    {
                        int isDisplayingCount = 0;
                        for (int iNum = 0; iNum < Regions.Count; iNum++)
                        {
                            if (Regions[iNum].IsDisplaying)
                            {
                                isDisplayingCount++;
                            }
                        }

                        if (isDisplayingCount > (row * columns))
                        {
                            for (int iNum = row * columns; iNum < Regions.Count; iNum++)
                            {
                                if (Regions[iNum].IsDisplaying && Regions[iNum].SessionId != IntPtr.Zero)
                                {
                                    HkAction.Stop(Regions[iNum].SessionId);
                                }
                            }
                            for (int iNum = Regions.Count; iNum > row * columns; iNum--)
                            {
                                Regions.RemoveAt(iNum - 1);
                            }
                        }
                        else
                        {
                            for (int iNum = Regions.Count; iNum > row * columns; iNum--)
                            {
                                Regions.RemoveAt(iNum - 1);
                            }
                        }
                        return;
                    }
                    else
                    {
                        return;
                    }

                    index++;
                }
            }
        }