bool StartTalk(ref DEV_INFO pDevice) { IntPtr pdev = new IntPtr(); Marshal.StructureToPtr(pDevice, pdev, false); unsafe { if (pdev.ToPointer() == null) { return(false); } if (m_lTalkHandle.ToPointer() == null) { return(false); } else { m_lTalkHandle = (IntPtr)XMSDK.H264_DVR_StartLocalVoiceCom(pDevice.lLoginID); if (m_lTalkHandle != (IntPtr)null) { return(true); } else { m_lTalkHandle = (IntPtr)null;; return(false); } } } }
private void talkToolStripMenuItem_Click(object sender, EventArgs e) { if (m_iPlayhandle <= 0) { return; } ToolStripMenuItem menuTalk = (ToolStripMenuItem)sender; if (menuTalk.Checked) { if (XMSDK.H264_DVR_StopVoiceCom(m_iTalkhandle)) { menuTalk.Checked = false; } } else { m_iTalkhandle = XMSDK.H264_DVR_StartLocalVoiceCom(m_lLogin); if (m_iTalkhandle > 0) { menuTalk.Checked = true; } } }