starTime =new HCNetSDK.NET_DVR_TIME();
starTime.dwYear = (uint)2010;
starTime.dwMonth = (uint)09;
starTime.dwDay = (uint)01;
starTime.dwHour = (uint)09;
starTime.dwMinute = (uint)47;
starTime.dwSecond = (uint)00; stopTime = new HCNetSDK.NET_DVR_TIME();
stopTime.dwYear = (uint)2010;
stopTime.dwMonth = (uint)09;
stopTime.dwDay = (uint)01;
stopTime.dwHour = (uint)09;
stopTime.dwMinute = (uint)50;
stopTime.dwSecond = (uint)00; if (HCNetSDK.NET_DVR_PlayBackByTime(lUserID, 1, starTime, stopTime, pic_back.Handle) == -1)
{
MessageBox.Show("播放录像成功!");
}
else
{
MessageBox.Show("播放录像失败!");
}这是我写的代码
错误是:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。有用过这个的吗?怎么个情况 急
starTime.dwYear = (uint)2010;
starTime.dwMonth = (uint)09;
starTime.dwDay = (uint)01;
starTime.dwHour = (uint)09;
starTime.dwMinute = (uint)47;
starTime.dwSecond = (uint)00; stopTime = new HCNetSDK.NET_DVR_TIME();
stopTime.dwYear = (uint)2010;
stopTime.dwMonth = (uint)09;
stopTime.dwDay = (uint)01;
stopTime.dwHour = (uint)09;
stopTime.dwMinute = (uint)50;
stopTime.dwSecond = (uint)00; if (HCNetSDK.NET_DVR_PlayBackByTime(lUserID, 1, starTime, stopTime, pic_back.Handle) == -1)
{
MessageBox.Show("播放录像成功!");
}
else
{
MessageBox.Show("播放录像失败!");
}这是我写的代码
错误是:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。有用过这个的吗?怎么个情况 急
执行 HCNetSDK.NET_DVR_PlayBackByTime(lUserID, 1, starTime, stopTime, pic_back.Handle) 的时候出的错
/// 7.3.7 按时间回放
/// NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd);
/// </summary>
/// <param name="lUserID">[in]NET_DVR_Login或者NET_DVR_Login_30的返回值</param>
/// <param name="lChannel">[in]通道号</param>
/// <param name="lpStartTime">[in]文件的开始时间</param>
/// <param name="lpStopTime">[in]文件的结束时间</param>
/// <param name="hWnd">[in]回放的窗口句柄</param>
/// <returns></returns>
[DllImport("HCNetSDK.dll")]
public static extern int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, IntPtr hWnd);
{
/// <summary>
/// 年
/// </summary>
public uint dwYear;
/// <summary>
/// 月
/// </summary>
public uint dwMonth;
/// <summary>
/// 日
/// </summary>
public uint dwDay;
/// <summary>
/// 时
/// </summary>
public uint dwHour;
/// <summary>
/// 分
/// </summary>
public uint dwMinute;
/// <summary>
/// 秒
/// </summary>
public uint dwSecond;
}
HCNetSDK.NET_DVR_PlayBackByTime(lUserID, 1, starTime, stopTime, pic_back.Handle)最后一个参数不对吧,应该是枚举类型的
视频文件到底是在硬盘录像机,还是在你本地?这个你得搞清楚,要是在本地NET_DVR_PlayBackByTime这个方法不可用前一阵我做的是DVR视频文件在本地,还是自己写的播放器
视频文件到底是在硬盘录像机,还是在你本地?这个你得搞清楚,要是在本地NET_DVR_P……
[/Quote]这个硬盘录像机不是可以利用web访问吗,就是得装一个插件那个,我用那个录像就是保存在了本地,我自己写的手动录像:
private void btn_play_Click(object sender, EventArgs e)
{
if (HCNetSDK.NET_DVR_StartDVRRecord(lUserID, 1, 0))
{
MessageBox.Show("手动录像中!");
}
else
{
MessageBox.Show("录像失败!");
}
} private void btn_stopplay_Click(object sender, EventArgs e)
{
if (HCNetSDK.NET_DVR_StopDVRRecord(lUserID, 1))
{
MessageBox.Show("手动录像停止!");
}
else
{
MessageBox.Show("录像停止失败!");
}
}都显示成功了,本地文件夹里也没有,也不知道有没有在硬盘录像机里,悲剧了。
参数IUserID是登陆的返回值,你的录像都在本地 不用登陆了?
这个我没用过,我用的是DVR视频文件,就在本地存着