コード例 #1
0
ファイル: frm_Main.cs プロジェクト: dalinhuang/demodemo
 /// <summary>
 /// 播放回调函数
 /// </summary>
 /// <param name="nPort"></param>
 /// <param name="pBuf"></param>
 /// <param name="nSize"></param>
 /// <param name="pFrameInfo"></param>
 /// <param name="nReserved1"></param>
 /// <param name="nReserved2"></param>
 private void pDecCBFun(int nPort, ref String pBuf,int nSize, ref  FRAME_INFO pFrameInfo, int nReserved1, int nReserved2)
 {
     this.picPlayMain.Height = pFrameInfo.nHeight;
     this.picPlayMain.Width = pFrameInfo.nWidth;
     this.stlCurrentTime.Text = pFrameInfo.nStamp.ToString();
 }
コード例 #2
0
ファイル: DaHuaSDK.cs プロジェクト: dalinhuang/demodemo
 /// <summary>
 /// 播放控制
 /// </summary>
 /// <param name="pPlayCom">
 /// 播放命令:
 /// 1.PLAY_COMMAND.GetPictureSize:获得帧原始图像大小
 /// </param>
 /// <param name="nPort">播放通道</param>
 /// <param name="frameInfo">帧信息</param>
 /// <returns>true:成功;false:失败</returns>
 public static bool DHPlayControl(PLAY_COMMAND pPlayCom, int nPort, ref FRAME_INFO frameInfo)
 {
     bool returnValue = false;
     switch (pPlayCom)
     {
         case PLAY_COMMAND.GetPictureSize:
             returnValue = PLAY_GetPictureSize(nPort, ref frameInfo.nWidth, ref frameInfo.nHeight);
             break;
     }
     DHThrowLastError(nPort);
     return returnValue;
 }
コード例 #3
0
ファイル: frm_Main.cs プロジェクト: dalinhuang/demodemo
 /// <summary>
 /// 画面时钟处理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void timerGetPlayInfo_Tick(object sender, EventArgs e)
 {
     if (pPlayVideoSizeMode != 9)
     {
         FRAME_INFO pFrameInfo = new FRAME_INFO();
         uint totalFrames = DHPlay.DHPlayControl(PLAY_COMMAND.GetFileTotalFrames, 0, true);
         DHPlay.DHPlayControl(PLAY_COMMAND.GetPictureSize, 0, ref pFrameInfo);
         stlTotalFrames.Text = Convert.ToString(totalFrames);
         trbPlayFrames.Maximum =(int) (totalFrames>0?totalFrames:0);
         int pParentHeight;
         int pParentWidth;
         if (palMain.Visible)
         {
             pParentWidth = palMain.Width;
             pParentHeight = palMain.Height;
         }
         else
         {
             pParentWidth = this.Width;
             pParentHeight = this.Height;
         }
         switch (pPlayVideoSizeMode )
         {
             case 0://原始大小
                 picPlayMain.Width = pFrameInfo.nWidth;
                 picPlayMain.Height = pFrameInfo.nHeight;
                 picPlayMain.Top = (pParentHeight - picPlayMain.Height) / 2;
                 picPlayMain.Left = (pParentWidth - picPlayMain.Width) / 2;
                 break;
             case 1://缩放
                 picPlayMain.Top = 0;
                 picPlayMain.Height = pParentHeight;
                 picPlayMain.Width = Convert.ToInt32( pFrameInfo.nWidth * ((float)pParentHeight / (float)pFrameInfo.nHeight));
                 picPlayMain.Left = (pParentWidth - picPlayMain.Width) / 2;
                 break;
         }
     }
     SetPlayCurrentInfo(DHPlay.DHPlayControl(PLAY_COMMAND.GetCurrentFrameNum, 0, true), DHPlay.DHPlayControl(PLAY_COMMAND.GetPlayedTime, 0, true));
 }