在做视频的时候遇到点问题,主要是获取的数据错误,无法用Hikvision播放器播放 请各位高手给看下代码:private void button3_Click(object sender, EventArgs e)
        {
            using (FileStream fs = new FileStream("c:hik.264",FileMode.Create))
            {
                BinaryWriter bw = new BinaryWriter(fs);
                HCNetSdkDllInvoke.STREAM_DIRECT_READ_CALLBACK1 str = new HCNetSdkDllInvoke.STREAM_DIRECT_READ_CALLBACK1(STREAM_DIRECT_READ_CALLBACK1);
                if (HCNetSdkDllInvoke.DSP_StartVideoCapture(0) == 0)
                {
                    int temp = HCNetSdkDllInvoke.RegisterStreamDirectReadCallback(str, this.Handle);
                } 
            }
        }
        //是否开始捕获文件 0 未启用 1 启用
        volatile int CaptureState;        public int STREAM_DIRECT_READ_CALLBACK1(int channelNum, IntPtr DataBuf, int Length, DataType.FrameType_t frameType, IntPtr context) 
        {
            //用于存放头文件
            byte[] FileHeader;
            //文件头长度
            int FileHeaderLen;            if (frameType == DataType.FrameType_t.PktSubSysHeader)
            {
                FileHeader = new byte[Length];
                FileHeaderLen = Length;
                return 0;
            }
            else
            {
                CaptureState = 1;
                WriterVideoCapture(Length, DataBuf);
                return 0;
            }
            
        }        private void WriterVideoCapture(int length, IntPtr dataBuf)
        {            if (CaptureState == 1)
            {
                using (FileStream fs = new FileStream("C:hik.264",FileMode.Append,FileAccess.Write))
                {
                    
                    BinaryWriter bw = new BinaryWriter(fs);
                    
                    byte[] byteBuf = new byte[length];
                    //Marshal.Copy(dataBuf, byteBuf, 0, length);
                    System.Runtime.InteropServices.Marshal.Copy(dataBuf, byteBuf, 0, length);
                    bw.Write(byteBuf,0,length);
                    bw.Flush();
                    bw.Close();
                }
            }
        }