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

C# 視訊監控系列(12):H264 播放器開啟與播放海康錄像檔案完整流程

     編輯:關於C#

本文示範如何使用 HikPlayM4.dll 開啟並播放海康設備錄製的 .264 錄像檔,涵蓋初始化、開啟檔案、取得影像資訊、開始播放與錯誤處理的完整流程。

介面預覽

播放器介面截圖

核心流程與程式碼

1. 表單載入初始化


int PORT = 0; // 播放通道 0~15
private string m_strPlayFileName;

private void Form3_Load(object sender, EventArgs e)
{
    // 設定最大音量
    HikPlayer.Hik_PlayM4_SetVolume(PORT, 0xFFFF);

    // 註冊檔案結束與編碼變更訊息
    HikPlayer.Hik_PlayM4_SetFileEndMsg(PORT, pVideo.Handle, HikPlayer.WM_FILE_END);
    HikPlayer.Hik_PlayM4_SetEncChangeMsg(PORT, pVideo.Handle, HikPlayer.WM_ENC_CHANGE);
}

2. 開啟檔案並播放


private void btnPlay_Click(object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        m_strPlayFileName = openFileDialog1.FileName;
        if (!string.IsNullOrEmpty(m_strPlayFileName))
        {
            OpenFile();
            HikPlayer.Hik_PlayM4_SetPicQuality(PORT, true); // 高畫質
        }
        else
            MessageBox.Show("請選擇檔案!!");
    }
}

private void OpenFile()
{
    // 開啟錄像檔
    if (!HikPlayer.Hik_PlayM4_OpenFile(PORT, m_strPlayFileName))
    {
        MessageBox.Show("開啟檔案失敗,請確認檔案格式。");
        return;
    }
    Play();
    SetOpenState();
}

public void SetOpenState()
{
    // 取得原始影像尺寸,自動調整播放器大小
    HikPlayer.Hik_PlayM4_GetPictureSize(PORT, out int w, out int h);
    // 設定疊加模式透明色
    HikPlayer.Hik_PlayM4_SetOverlayMode(PORT, true, Color.FromArgb(255, 0, 255).ToArgb());
}

private void Play()
{
    // 開始視訊解碼播放
    HikPlayer.Hik_PlayM4_Play(PORT, pVideo.Handle);
    // 開始音訊播放
    HikPlayer.Hik_PlayM4_PlaySound(PORT);
}

關鍵 API 說明

  • Hik_PlayM4_OpenFile:開啟 .264 檔,失敗可用 Hik_PlayM4_GetLastError 取得錯誤碼。
  • Hik_PlayM4_GetPictureSize:取得影像原始寬高,用於自適應播放視窗。
  • Hik_PlayM4_SetOverlayMode:啟用疊加模式,指定透明色(如洋紅 0xFF00FF)。
  • Hik_PlayM4_Play / PlaySound:分別啟動視訊與音訊渲染。

常見問題排查

  1. 檔案無法開啟:先用海康官方播放器測試檔案是否損壞。
  2. 播放無畫面:確認 pVideo.Handle 有效、已呼叫 SetOverlayMode、顯示卡支援 Overlay。
  3. 音訊無聲音:檢查錄製時是否有音訊、系統音量、PlaySound 是否成功。

建議補充

  • 加入完整的錯誤碼對照表與使用者友善提示。
  • 實作播放進度條、時間顯示、音量控制等 UI。
  • 支援拖曳檔案開啟、最近開啟清單等體驗優化。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved