void GetFileTest()
        {
            SearchFileRequest searchFileRequest = new SearchFileRequest()
            {
                ChannelNo = 0, Beg = new SystemTimeInfo(2017, 7, 4, 8, 0, 0), End = new SystemTimeInfo(2017, 7, 4, 13, 0, 0), Type = 0
            };
            SearchFileResponse searchFileResponse = m_howell5198client.SearchFile(searchFileRequest);

            if (searchFileResponse == null)
            {
                Console.WriteLine("SearchFile error");
                return;
            }
            Console.WriteLine("searchFileResponse: filecount:{0}", searchFileResponse.FileInfos.Length);
            if (searchFileResponse.FileInfos.Length > 0)//搜索到录像文件的话
            {
                GetFileInfoRequest getFileInfoRequest = new GetFileInfoRequest();
                getFileInfoRequest.ChannelNo = searchFileResponse.FileInfos[0].ChannelNo;
                getFileInfoRequest.Beg       = searchFileResponse.FileInfos[0].Beg;
                getFileInfoRequest.End       = searchFileResponse.FileInfos[0].End;
                GetFileInfoResponse getFileInfoResponse = m_howell5198client.GetFileInfo(getFileInfoRequest);
                if (getFileInfoResponse == null)
                {
                    Console.WriteLine("GetFileInfo error");
                    return;
                }
                Console.WriteLine("getFileInfoResponse: FileFormatType:{0}", getFileInfoResponse.FileFormatType);
                //构建HW头
                HW_MediaInfo media = new HW_MediaInfo();
                media.Dvr_version = getFileInfoResponse.FileFormatType;
                media.Adec_code   = getFileInfoResponse.Audio_dec;
                media.Vdec_code   = getFileInfoResponse.Video_dec;
                media.Reserved[0] = (8 << 24) + (8 << 16) + (1 << 8) + 0;//au_bits+au_sampleau_sample+au_channel+reserve

                GetFileRequest getFileRequest = new GetFileRequest();
                getFileRequest.ChannelNo = searchFileResponse.FileInfos[0].ChannelNo;
                getFileRequest.Beg       = searchFileResponse.FileInfos[0].Beg;
                getFileRequest.End       = searchFileResponse.FileInfos[0].End;
                getFileRequest.Type      = searchFileResponse.FileInfos[0].Type;
                Howell5198FileStream filestream = m_howell5198client.GetFile(getFileRequest);
                filestream.FileDataReceived += howell5198client_FileDataReceived;
                filestream.StartReceive();
                Thread.Sleep(1000);
                filestream.StopReceive();
            }
        }
示例#2
0
        public IActionResult GetFileMetadata(int recordId, int fieldId, int fileId)
        {
            var getResponse = new GetFileInfoResponse();

            return(Ok(getResponse));
        }
示例#3
0
        private void GetFileInfoFinished(object sender, get_file_infoCompletedEventArgs e)
        {
            AsyncCallState<OperationFinished<GetFileInfoResponse>> state =
                (AsyncCallState<OperationFinished<GetFileInfoResponse>>) e.UserState;
            GetFileInfoResponse response;

            if (e.Error != null)
            {
                response = new GetFileInfoResponse
                           	{
                           		Error = e.Error,
                           		Status = GetFileInfoStatus.Failed,
                           		File = null,
                           		UserState = state.UserState
                           	};
            }
            else
            {
                response = new GetFileInfoResponse
                           	{
                           		Status = StatusMessageParser.ParseGetFileInfoStatus(e.Result),
                           		File = new File
                           		       	{
                           		       		Created = UnixTimeConverter.Instance.FromUnixTime(e.info.created),
                           		       		Description = e.info.description,
                           		       		ID = e.info.file_id,
                           		       		IsShared = e.info.shared == 1,
                           		       		Name = e.info.file_name,
                           		       		PublicName = e.info.public_name,
                           		       		SHA1Hash = e.info.sha1,
                           		       		Size = e.info.size,
                           		       		Updated = UnixTimeConverter.Instance.FromUnixTime(e.info.updated)
                           		       	},
                           		UserState = state.UserState
                           	};

                response.Error = response.Status == GetFileInfoStatus.Unknown
                                 	?
                                 		new UnknownOperationStatusException(e.Result)
                                 	:
                                 		null;
            }

            state.CallbackDelegate(response);
        }