首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 視訊監控系列(十一):H.264 播放器——封裝 API [HikPlayM4.dll]

     編輯:關於C語言

前言

當你認真完成客戶端與伺服器端開發後,其實已掌握 VC++ 轉 C# 的核心技巧,配合 Google 搜尋即可獨立完成播放器。但為系列完整性,仍詳細記錄播放器核心 API 封裝過程。

正文:HikPlayM4.dll 核心 API 封裝

播放器核心庫為 HikPlayM4.dll (對應 VC++ 的 HikPlayM4.lib/.dll),提供檔案播放、即時串流播放、畫面控制、截圖、轉檔等功能。

封裝原則

  • 所有 API 以 static extern 方式 P/Invoke 宣告
  • 參數型別對應:HWND→IntPtr、LONG→int、DWORD→uint、回調函數→delegate
  • 字串參數一律用 [MarshalAs(UnmanagedType.LPStr)] 或 StringBuilder
  • 錯誤碼統一對應 Hik_PlayM4_GetLastError

核心 API 清單 (節錄)

API 名稱功能關鍵參數
Hik_PlayM4_OpenFile開啟本地 .264 檔案port, filename
Hik_PlayM4_Play開始播放port, hwnd
Hik_PlayM4_Pause暫停/繼續port, pause(0/1)
Hik_PlayM4_Stop停止播放port
Hik_PlayM4_SetVolume設定音量port, volume(0~0xFFFF)
Hik_PlayM4_Fast加速播放 (最高 4 倍)port
Hik_PlayM4_Slow減速播放 (最低 1/4)port
Hik_PlayM4_SetPlayPos跳轉進度 (0.0~1.0)port, pos
Hik_PlayM4_CapturePicture截圖存檔 (BMP/JPG)port, filename
Hik_PlayM4_ConvertToBmpFileYUV 資料轉 BMP 檔pBuf, size, w, h, type, filename
Hik_PlayM4_SetDisplayCallBack設定顯示回調 (截圖用)port, callback
Hik_PlayM4_GetPictureSize取得影像原始寬高port, out w, out h
Hik_PlayM4_SetOverlayMode設定覆蓋模式 (色鍵透明)port, enable, colorKey

重要提醒

  • API 可能存在簽名誤差:後續文章將持續修正更新,請以最新版為準
  • 連結庫版本:確保專案引用的 HikPlayM4.dll 與 SDK 版本一致 (x86/x64 需對應)
  • 錯誤處理:每次呼叫後檢查回傳值,失敗時呼叫 GetLastError 診斷

結束

完整封裝代碼請參考文章附件。下一篇將實作「播放錄影檔案」完整流程。

附件:HikPlayM4.dll 封裝原始碼

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved