package hcnetsdk.sdkhub; import android.util.Log; import android.view.SurfaceHolder; import com.hikvision.netsdk.HCNetSDK; import com.hikvision.netsdk.NET_DVR_PREVIEWINFO; import com.hikvision.netsdk.NET_DVR_PREVIEWINFO_V20; import com.sun.jna.Pointer; import hcnetsdk.jna.HCNetSDKJNAInstance; public class DevPreviewGuider { //预览接口 public int RealPlay_V40_jni(int iUserID, NET_DVR_PREVIEWINFO struPlayInfo, Pointer pUser) { if (iUserID < 0) { Log.e("Casic", "RealPlay_V40_jni failed with error param"); return -1; } int iRet = HCNetSDK.getInstance().NET_DVR_RealPlay_V40(iUserID, struPlayInfo, null); if (iRet < 0) { return -1; } boolean bRet = HCNetSDKJNAInstance.getInstance().NET_DVR_OpenSound((short) iRet); if (bRet) { Log.e("Casic", "NET_DVR_OpenSound Succ!"); } return iRet; } public int RealPlay_V40_jni(int iUserID, NET_DVR_PREVIEWINFO_V20 struPlayInfo, Pointer pUser) { if (iUserID < 0) { Log.e("Casic", "RealPlay_V40_jni failed with error param"); return -1; } int iRet = HCNetSDK.getInstance().NET_DVR_RealPlay_V40(iUserID, struPlayInfo, null); if (iRet < 0) { return -1; } return iRet; } //预览窗口句柄变化时调用 public int RealPlaySurfaceChanged_jni(int iHandle, int nRegionNum, SurfaceHolder hHwnd) { if (iHandle < 0 || nRegionNum < 0) { Log.e("Casic", "RealPlaySurfaceChanged_jni failed with error param"); return -1; } return HCNetSDK.getInstance().NET_DVR_RealPlaySurfaceChanged(iHandle, nRegionNum, hHwnd); } public boolean RealPlay_Stop_jni(int m_iPreviewHandle) { if (m_iPreviewHandle < 0) { Log.e("Casic", "RealPlay_Stop_jni failed with error param"); return false; } if (!HCNetSDK.getInstance().NET_DVR_StopRealPlay(m_iPreviewHandle)) { Log.e("Casic", "RealPlay_Stop_jni failed"); return false; } return true; } public boolean RealPlay_Snap(int m_iPreviewHandle, String sPicFileName) { if (!HCNetSDKJNAInstance.getInstance().NET_DVR_CapturePicture(m_iPreviewHandle, sPicFileName)) { Log.e("Casic", "RealPlay_Snap failed"); return false; } return true; } public boolean RealPlay_Record(int m_iPreviewHandle, int dwTransType, String sPicFileName) { if (!HCNetSDKJNAInstance.getInstance().NET_DVR_SaveRealData_V30(m_iPreviewHandle, dwTransType, sPicFileName)) { Log.e("Casic", "RealPlay_Record failed"); return false; } return true; } }