public void StopAll() { foreach (var region in Regions) { if (region.IsDisplaying && region.SessionId != IntPtr.Zero) { HkAction.Stop(region.SessionId); } } SelectedIndex = 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); } } }
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); } } }
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++; } } }