收藏 分享(赏)

大华播放SDK开发手册.doc

上传人:精品资料 文档编号:9549066 上传时间:2019-08-14 格式:DOC 页数:55 大小:1.38MB
下载 相关 举报
大华播放SDK开发手册.doc_第1页
第1页 / 共55页
大华播放SDK开发手册.doc_第2页
第2页 / 共55页
大华播放SDK开发手册.doc_第3页
第3页 / 共55页
大华播放SDK开发手册.doc_第4页
第4页 / 共55页
大华播放SDK开发手册.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、大华播放 SDK 编程手册VERSION 3.28.2(Build 100129)2010-01-29版权所有 侵权必究前 言非常感谢您使用我们公司的设备,我们将为您提供最好的服务。本手册可能包含技术上不准确的地方或印刷错误,欢迎指正。我们将会定期更新手册的内容。大华播放 SDK 编程手册第 3 页 共 55 页修订记录日期 修订内容 修订者2010-1-29 添加接口:PLAY_SetFileRefCallBackExPLAY_GetRealFrameBitRate金志贤2010-1-22 添加接口:PLAY_SetVisibleDecCallBack;PLAY_CatchResizePic

2、金志贤2009-10-26 添加接口说明:PLAY_GetFreePort, PLAY_ReleasePort;PLAY_VerticalSyncEnable;PLAY_GetPicBMP, PLAY_GetPicJPEG;添加媒体信息获取指令:PLAY_CMD_GetMediaInfo金志贤2009-8-14整理文档,修改文档版式,添加接口说明 金志贤2009-07-15 整理文档,增加对最新接口的说明 张博2008-03-25 整理文档,修改多显卡及设置高画质接口的定义 周国锋2007-10-16 整理文档 周国锋、陈琼施2007-9-3 增加对最新接口的说明 王兰君2006-12-27

3、整理文档 周国锋、陈琼施2006-12-18 创建 冯江、周国锋大华播放 SDK 编程手册第 4 页 共 55 页目 录1 简 介 61.1 概述 .61.2 适用性 .62 设计原则 62.1 典型调用 .62.2 编程补充说明 .103 数据结构定义 113.1 宏定义 .113.2 媒体信息结构 .143.3 帧信息结构 .144 接口定义 154.1 通道控制 .154.2 播放文件 .164.3 播放流数据 .174.4 回放控制 .214.5 音频控制 .224.6 数据回调 .244.7 消息回调 .294.8 函数回调 .304.9 文件索引 .334.10 文件定位 334.

4、11 设置属性 344.12 获得属性 394.13 多显卡控制 454.14 抓图 474.15 字符叠加 504.16 多区域显示 514.17 数据流录像 514.18 清缓冲 524.19 智能搜索 524.20 获得版本号 53大华播放 SDK 编程手册第 5 页 共 55 页4.21 获得错误号 544.22 其它 54大华播放 SDK 编程手册第 6 页 共 55 页1 简 介1.1 概述播放 SDK 是大华压缩卡和硬盘录像机的配套产品,支持大华所有码流格式以及海思公司的h264 码流和 ADI 的 h264 码流。本文档详细描述了开发包中各函数实现的功能及接口播放 SDK 的主

5、要功能有:支持文件或流数据的播放、回放控制(如暂停恢复、快放慢放) 、音频控制、流数据录像、多区域显示、按帧序号或按时间定位、数据回调、消息回调、字符叠加、抓图.开发包中包括的文件有: dhplay.dll、dhplay.h、dhplay.lib、底层 mpeg4 解码库(dllmpeg4.dll) 、底层 h264 解码库 dllh264.dll(解大华的 h264 码流和 ADI 公司的码流)和海思的 h264 解码库,包括(AmrDLL.dll、DLLDeinterlace.dll、hi_h264dec_w.dll) 。1.2 适用性 支持大华所有码流以及ADI的h264码流和海思的h2

6、64码流的解码 支持HB、HBE、LB、LBE、GB、GBE、NVS机型码流设计原则2 设计原则2.1 典型调用2.1.1 多显卡初始化初始化多显卡设备 PLAY_InitDDrawDevice获取显卡数目 PLAY_GetDDrawDeviceTotalNums设置播放窗口使用的显卡 PLAY_SetDDrawDevice获取显卡信息 PLAY_GetDDrawDeviceInfo获取显卡功能 PLAY_GetCapsEx关闭多显卡设备 PLAY_RealeseDDraw2.1.2 回调及功能设置设置文件结束消息回调 PLAY_SetFileEndMsg大华播放 SDK 编程手册第 7 页

7、共 55 页设置文件结束函数回调 PLAY_SetFileEndCallBack设置图像格式改变消息回调 PLAY_SetEncChangeMsg设置图像格式改变函数回调 PLAY_SetEncTypeChangeCallBack设置文件索引建立后回调 PLAY_SetFileRefCallBack设置流缓冲小于阀值回调 PLAY_SetSourceBufCallBack设置数据解码回调 PLAY_SetDecCallBackPLAY_SetDecCallBackEx设置数据解码回调同时显示视频 PLAY_SetVisibleDecCallBack设置视频解码回调 PLAY_SetDispla

8、yCallBack设置音频解码回调 PLAY_SetAudioCallBack设置水印数据回调 PLAY_SetVerifyCallBack设置分析数据回调 PLAY_SetDemuxCallBack设置文件索引 PLAY_SetRefValue设置播放缓冲帧数 PLAY_SetDisplayBuf设置 overlay 模式及关键色 PLAY_SetOverlayMode设置流打开模式 PLAY_SetStreamOpenMode设置定时器类型 PLAY_SetTimerType设置水印数据回调 PLAY_SetWaterMarkCallBack2.1.3 打开文件或数据流创建文件 PLAY_

9、CreateFile打开文件 PLAY_OpenFile创建流文件 PLAY_CreateStream打开流 PLAY_OpenStreamPLAY_OpenStreamEx2.1.4 播放播放开始 PLAY_Play2.1.5 各功能操作及信息获取播放声音 PLAY_PlaySoundPLAY_PlaySoundShare设置音量 PLAY_SetVolume大华播放 SDK 编程手册第 8 页 共 55 页获取音量 PLAY_GetVolume关闭声音 PLAY_StopSoundPLAY_StopSoundShare开始流数据录像 PLAY_StartDataRecord获取空闲的通道号

10、 PLAY_GetFreePort释放通道号 PLAY_ReleasePort输入流数据 PLAY_InputDataPLAY_InputVideoDataPLAY_InputAudioData结束流数据录像 PLAY_StopDataRecord重置流缓冲回调标志 PLAY_ResetSourceBufFlag快放 PLAY_Fast慢放 PLAY_Slow暂停 PLAY_Pause按帧号定位 PLAY_SetCurrentFrameNum按时间定位 PLAY_SetPlayedTimeEx按文件偏移定位 PLAY_SetPlayPos刷新 PLAY_RefreshPlayPLAY_Refr

11、eshPlayEx单帧播放 PLAY_OneByOne单帧倒放 PLAY_OneByOneBackPLAY_BackOne反向回放 PLAY_Back抓图(写文件) PLAY_CatchPicPLAY_CatchPicExPLAY_CatchResizePic抓图(获取图片数据) PLAY_GetPicBMPPLAY_GetPicJPEG清缓冲 PLAY_ResetBuffer颜色调整 PLAY_SetColor多区域显示 PLAY_SetDisplayRegion显示模式设置 PLAY_SetDisplayType垂直同步使能 PLAY_VerticalSyncEnable大华播放 SDK

12、编程手册第 9 页 共 55 页调整图象播放的流畅性 PLAY_AdjustFluency改变图象播放的帧率 PLAY_ChangeRate打开音频采集功能 PLAY_OpenAudioRecord关闭音频采集功能 PLAY_CloseAudioRecord获取颜色参数 PLAY_GetColor获取关键色 PLAY_GetColorKey获取当前帧数 PLAY_GetCurrentFrameNum获取当前帧率 PLAY_GetCurrentFrameRate获取缓冲帧数 PLAY_GetDisplayBuf获取显示类型 PLAY_GetDisplayType获取当前时间 PLAY_GetPl

13、ayedTimePLAY_GetPlayedTimeEx获取当前信息状态 PLAY_QueryInfo获取总帧数 PLAY_GetFileTotalFrames获取总时间 PLAY_GetFileTime获取文件偏移 PLAY_GetPlayPos获取索引信息 PLAY_GetRefValue获取流剩余缓冲 PLAY_GetSourceBufferRemain获取流打开模式 PLAY_GetStreamOpenMode获取关键帧信息 PLAY_GetKeyFramePosPLAY_GetNextKeyFramePos获取 OVERLAY 模式 PLAY_GetOverlayMode获取图像大小

14、 PLAY_GetPictureSize获取已播放的桢数 PLAY_GetPlayedFrames获取视频实时码率 PLAY_GetRealFrameBitRate2.1.6 停止播放停止 PLAY_Stop2.1.7 结束关闭创建的文件 PLAY_DestroyFile大华播放 SDK 编程手册第 10 页 共 55 页关闭文件 PLAY_CloseFile关闭创建的流 PLAY_DestroyStream关闭流 PLAY_CloseStreamPLAY_CloseStreamEx释放多显卡资源 PLAY_ReleaseDDrawDevice2.1.8 可随时调用的函数获取系统功能 PLAY

15、_GetCaps转 BMP 文件 PLAY_ConvertToBmpFile获取文件头长度 PLAY_GetFileHeadLength获取版本信息 PLAY_GetSdkVersion2.2 编程补充说明 步骤 A 中的操作用于支持多显卡,目前播放库暂不支持,采用默认的显卡。 步骤 B 中的功能设置操作只能在 PLAY_play 之前设置一次。如果用户不调用这些函数,播放库会采用默认值,如播放缓冲帧数默认为 15 帧,默认用 overlay 显示,默认流打开模式为最实时模式。 要使播放 SDK 能正常工作,步骤 C 和步骤 D 是必须的大部分操作集中在步骤 E 中,即在 PLAY_Play

16、和 PLAY_ Stop 之间调用。但其中播放声音的函数 PLAY_PlaySound、PLAY_PlaySoundShare 可以在 PLAY_Play 之前调用,以防止部分声音数据不能播放,这在播放一个纯音频文件时较为明显对 D、E、F、G、H、I 中的功能大部分之间没有调用先后顺序,当然对同一个功能还是应该按先打开再操作最后关闭的顺序。3 数据结构定义3.1 宏定义3.1.1 最大通道数#define FUNC_MAX_PORT 501 /最大播放通道数大华播放 SDK 编程手册第 11 页 共 55 页3.1.2 声音波形范围#define MIN_WAVE_COEF -100#def

17、ine MAX_WAVE_COEF 1003.1.3 定时器类型#define TIMER_1 1 /默认定时器,精确定时,但一个进程中最多只有 16 个#define TIMER_2 2 /不精确定时,个数据不限制3.1.4 缓冲类型#define BUF_VIDEO_SRC 1 /视频源缓冲#define BUF_AUDIO_SRC 2 /音频源缓冲#define BUF_VIDEO_RENDER 3 /解码后视频数据缓冲#define BUF_AUDIO_RENDER 4 /解码后音频数据缓冲注:BUF_VIDEO_SRC 视频数据源缓冲,缓冲解码之前视频数据,只对流模式有效,单位 by

18、teBUF_AUDIO_SRC 音频数据源缓冲,缓冲解码之前音频数据,只对流模式有效, 单位 byteBUF_VIDEO_RENDER 解码后视频数据缓冲,单位帧数BUF_AUDIO_RENDER 解码后音频数据缓冲,单位帧数,音频 40ms 数据定为一帧3.1.5 错误类型#define DH_PLAY_NOERROR 0 /没有错误#define DH_PLAY_PARA_OVER 1 /输入参数非法#define DH_PLAY_ORDER_ERROR 2 /调用顺序不对#define DH_PLAY_TIMER_ERROR 3 /多媒体时钟设置失败#define DH_PLAY_DEC

19、_VIDEO_ERROR 4 /视频解码失败#define DH_PLAY_DEC_AUDIO_ERROR 5 /音频解码失败#define DH_PLAY_ALLOC_MEMORY_ERROR 6 /分配内存失败#define DH_PLAY_OPEN_FILE_ERROR 7 /文件操作失败#define DH_PLAY_CREATE_OBJ_ERROR 8 /创建线程事件等失败#define DH_PLAY_CREATE_DDRAW_ERROR 9 /创建 directDraw 失败#define DH_PLAY_CREATE_OFFSCREEN_ERROR 10 /创建后端缓存失败#d

20、efine DH_PLAY_BUF_OVER 11 /缓冲区满,输入流失败#define DH_PLAY_CREATE_SOUND_ERROR 12 /创建音频设备失败大华播放 SDK 编程手册第 12 页 共 55 页#define DH_PLAY_SET_VOLUME_ERROR 13 /设置音量失败#define DH_PLAY_SUPPORT_FILE_ONLY 14 /只能在播放文件时才能使用#define DH_PLAY_SUPPORT_STREAM_ONLY 15 /只能在播放流时才能使用#define DH_PLAY_SYS_NOT_SUPPORT 16 /系统不支持,解码器只

21、能工作在 Pentium 3 以上#define DH_PLAY_FILEHEADER_UNKNOWN 17 /没有文件头#define DH_PLAY_VERSION_INCORRECT 18 /解码器和编码器版本不对应#define DH_PLAY_INIT_DECODER_ERROR 19 /初始化解码器失败#define DH_PLAY_CHECK_FILE_ERROR 20 /文件太短或码流无法识别#define DH_PLAY_INIT_TIMER_ERROR 21 /初始化多媒体时钟失败#define DH_PLAY_BLT_ERROR 22 /位拷贝失败#define DH_P

22、LAY_UPDATE_ERROR 23 /显示 overlay 失败#define DH_PLAY_MEMORY_TOOSMALL 24 /memory too small3.1.6 最大区域显示数#define MAX_DISPLAY_WND 4 /同时最多打开 4 个区域显示窗口3.1.7 显示类型#define DISPLAY_NORMAL 1 /以正常分辨率显示#define DISPLAY_QUARTER 2 /以四分之一分辨率显示3.1.8 解码缓冲数#define MAX_DIS_FRAMES 50 /最大解码缓冲帧数#define MIN_DIS_FRAMES 6 /最小解码缓

23、冲帧数3.1.9 定位类型#define BY_FRAMENUM 1 /按帧号#define BY_FRAMETIME 2 /按时间3.1.10 数据流原始缓冲大小#define SOURCE_BUF_MAX 1024*100000 /最大原始缓冲#define SOURCE_BUF_MIN 1024*50 /最小原始缓冲大华播放 SDK 编程手册第 13 页 共 55 页3.1.11 数据流播放模式#define STREAME_REALTIME 0 /最实时方式#define STREAME_FILE 1 /最流畅方式3.1.12 解码回调音频帧类型#define T_AUDIO16 10

24、1#define T_AUDIO8 1003.1.13 解码回调视频帧类型#define T_UYVY 1#define T_YV12 3#define T_RGB32 73.1.14 媒体信息查询指令#define PLAY_CMD_GetTime 1#define PLAY_CMD_GetFileRate 2#define PLAY_CMD_GetMediaInfo 33.1.15 系统功能#define SUPPORT_DDRAW 1 /支持 DIRECTDRAW;如果不支持,则播放器不能工作#define SUPPORT_BLT 2 /显卡支持 BLT 操作;如果不支持,则播放器不能工

25、作#define SUPPORT_BLTFOURCC 4 /显卡 BLT 支持颜色转换#define SUPPORT_BLTSHRINKX 8 /显卡 BLT 支持 X 轴缩小#define SUPPORT_BLTSHRINKY 16 /显卡 BLT 支持 Y 轴缩小#define SUPPORT_BLTSTRETCHX 32 /显卡 BLT 支持 X 轴放大#define SUPPORT_BLTSTRETCHY 64 /显卡 BLT 支持 Y 轴放大#define SUPPORT_SSE 128 /CPU 支持 SSE 指令,Intel Pentium3 以上支持 SSE 指令#define

26、 SUPPORT_MMX 256 /CPU 支持 MMX 指令集大华播放 SDK 编程手册第 14 页 共 55 页3.1.16 抓图格式类型定义typedef enum _tPicFormatsPicFormat_BMP = 0,PicFormat_JPEG, tPicFormats;3.2 媒体信息结构typedef struct long lWidth;long lHeight;long lFrameRate;long lChannel;long lBitPerSample;long lSamplesPerSec;MEDIA_INFO;3.3 帧信息结构3.3.1 帧位置typedef

27、structlong nFilePos; /指定帧在文件中的偏移位置long nFrameLen; /帧长度long nFrameNum; /帧序号long nFrameTime; /帧时间long nErrorFrameNum; /错误帧号SYSTEMTIME *pErrorTime; /错误帧时间long nErrorLostFrameNum; /错误帧帧号long nErrorFrameSize; /错误帧大小FRAME_POS,*PFRAME_POS;大华播放 SDK 编程手册第 15 页 共 55 页3.3.2 帧信息typedef structlong nWidth; /画面宽,单

28、位像素。如果是音频数据则为 0long nHeight; /画面高。如果是音频数据则为 0long nStamp; /时标信息,单位毫秒long nType; /视频帧类型,T_AUDIO16 ,T_RGB32, T_YV12 long nFrameRate; /编码时产生的图像帧率FRAME_INFO;3.3.3 帧类型typedef struct char *pDataBuf; /帧数据long nSize; /帧大小long nFrameNum; /帧序号BOOL bIsAudio; /是否音频帧long nReserved; /保留字FRAME_TYPE;4 接口定义 4.1 通道控制

29、4.1.1 PLAY_GetFreePort函数名称 BOOL PLAY_GetFreePort(LONG *plPort)功能描述 获取空闲的通道号,与 PLAY_RealsePort 成对使用参数说明 plPort 获取的通道号返回值 成功返回 TRUE,不成功返回 FALSE4.1.2 PLAY_ReleasePort函数名称 BOOL PLAY_ReleasePort (LONG lPort)功能描述 释放端口号,与 PLAY_ GetFreePort 成对使用参数说明 lPort 通道号大华播放 SDK 编程手册第 16 页 共 55 页返回值 成功返回 TRUE,不成功返回 FAL

30、SE4.2 播放文件4.2.1 PLAY_OpenFile函数名称 BOOL PLAY_OpenFile(LONG nPort,LPSTR sFileName)功能描述 打开文件nPort 通道号参数说明sFileName 文件名, (文件不能超过 4G 或小于 4K)返回值 成功返回 TRUE,不成功返回 FALSE4.2.2 PLAY_CreateFile函数名称 BOOL PLAY_CreateFile(LONG nPort,LPSTR sFileName)功能描述 打开文件,自动分配通道号nPort 未使用参数说明sFileName 文件名, (文件不能超过 4G 或小于 4K)返回值

31、 成功返回 TRUE,不成功返回 FALSE4.2.3 PLAY_Play函数名称 BOOL PLAY_Play(LONG nPort, HWND hWnd)功能描述 开始播放。如果已经播放,改变当前播放状态为正常速度播放nPort 通道号参数说明hWnd 播放窗口句柄返回值 成功返回 TRUE,不成功返回 FALSE4.2.4 PLAY_Stop函数名称 BOOL PLAY_Stop(LONG nPort)功能描述 结束播放参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE大华播放 SDK 编程手册第 17 页 共 55 页4.2.5 PLAY_CloseFile

32、函数名称 BOOL PLAY_CloseFile (LONG nPort)功能描述 关闭播放文件, 在 PLAY_Stop 后调用参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.2.6 PLAY_ DestoryFile函数名称 BOOL PLAY_ DestoryFile (LONG nPort)功能描述 关闭播放文件,并释放自动分配的通道号。参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.3 播放流数据4.3.1 PLAY_OpenStream函数名称 BOOL PLAY_OpenStream(LONG nPort, PB

33、YTE pFileHeadBuf, DWORD nSize, DWORD nBufPoolSize)功能描述 打开流接口(类似打开文件)nPort 通道号pFileHeadBuf 目前不使用,填NULLnSize 目前不使用,填0参数说明nBufPoolSize 设置播放器中存放数据流的缓冲区大小。范围是SOURCE_BUF_MIN, SOURCE_BUF_MAX。一般设为900*1024,如果数据送过来相对均匀,可调小该值,如果数据传输不均匀,可增大该值。返回值 成功返回 TRUE,不成功返回 FALSE补充说明 pFileHeadBuf 原先用于识别该码流是否是大华码流,后改由码流中的标志

34、来识别,所以现在该参数实际不起作用。这样做的目的是为方便用户做二次开发,码流识别由播放库内部处理,而不需要用户传个特定厂家的文件头大华播放 SDK 编程手册第 18 页 共 55 页4.3.2 PLAY_CreatStream函数名称 BOOL PLAY_CreatStream(LONG nPort, PBYTE pFileHeadBuf, DWORD nSize, DWORD nBufPoolSize)功能描述 打开流接口,并自动分配通道号nPort 通道号,未使用pFileHeadBuf 目前不使用,填NULLnSize 目前不使用,填0参数说明nBufPoolSize 置播放器中存放数据

35、流的缓冲区大小。范围是SOURCE_BUF_MIN, SOURCE_BUF_MAX。一般设为900*1024 ,如果数据送过来相对均匀,可调小该值,如果数据传输不均匀,可增大该值返回值 成功返回 TRUE,不成功返回 FALSE4.3.3 PLAY_InputData函数名称 BOOL PLAY_InputData(LONG nPort, PBYTE pBuf, DWORD nSize)功能描述 输入从设备上得到的流数据;打开流并调用 PLAY_Play 之后才能输入数据。nPort 通道号pBuf 缓冲区地址参数说明nSize 缓冲区大小返回值 TURE,表示已经输入数据。FALSE 表示失

36、败,数据没有输入,一般为缓冲已满4.3.4 PLAY_CloseStream函数名称 BOOL PLAY_CloseStream(LONG nPort)功能描述 关闭数据流(类似关闭文件)参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.3.5 PLAY_DestoryStream函数名称 BOOL PLAY_DestoryStream(LONG nPort)功能描述 关闭数据流,并释放自动分配的端口号参数说明 nPort 通道号大华播放 SDK 编程手册第 19 页 共 55 页返回值 成功返回 TRUE,不成功返回 FALSE4.3.6 PLAY_OpenS

37、treamEx函数名称 BOOL PLAY_OpenStreamEx(LONG nPort, PBYTE pFileHeadBuf, DWORD nSize, DWORD nBufPoolSize)功能描述 以音视频分开输入的方式打开流nPort 通道号pFileHeadBuf 用户从卡上得到的文件头数据nSize 文件头长度参数说明nBufPoolSize 设置播放器中存放数据流的缓冲区大小。范围是SOURCE_BUF_MIN, SOURCE_BUF_MAX返回值 成功返回 TRUE,不成功返回 FALSE4.3.7 PLAY_InputVideoData函数名称 BOOL PLAY_Inp

38、utVideoData(LONG nPort, PBYTE pBuf, DWORD nSize)功能描述 输入从设备上得到的视频流 (可以是复合流,但音频数据会被忽略);打开流之后才能输入数据nPort 通道号pBuf 缓冲区地址参数说明nSize 缓冲区大小返回值 TURE,表示已经输入数据;FALSE 表示失败,数据没有输入4.3.8 PLAY_InputAudioData函数名称 BOOL PLAY_ InputAudioData (LONG nPort, PBYTE pBuf, DWORD nSize)功能描述 输入从设备上得到的音频流;打开声音之后才能输入数据nPort 通道号pBu

39、f 缓冲区地址参数说明nSize 缓冲区大小返回值 成功返回 TRUE,不成功返回 FALSE4.3.9 PLAY_CloseStreamEx函数名称 BOOL PLAY_CloseStreamEx (LONG nPort)功能描述 关闭数据流大华播放 SDK 编程手册第 20 页 共 55 页参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.3.10 流方式历史数据(包括本地文件和远程录像文件)播放简单示例:PLAY_OpenStream(0, NULL, 0, 900*1024);PLAY_SetStreamOpenMode(0, STREAME_FILE)

40、/文件模式PLAY_Play(0, hWnd);FILE* fp = fopen(“file.dav”,”rb”);BYTE pBuf4096;while (true)int len = fread(pBuf,1,4096,fp);if (len = 0)break;While (PLAY_InputData(0, pBuf, len) = FALSE)Sleep(45);4.3.11 实时流数据播放简单示例:PLAY_OpenStream(0, NULL, 0, 900*1024);PLAY_SetStreamOpenMode(0, STREAME_REALTIME)/实时模式 ,/默认是实

41、时模式PLAY_Play(0, hWnd);/网络流数据回调函数void WINAPI CallFunction(LONG nPort, LPBYTE pDataBuffer, DWORD DataLength, long nUser)PLAY_InputData(nPort, pDataBuffer, DataLength);/网络实时流数据,数据只送一次,以保证实时性4.4 回放控制4.4.1 PLAY_Pause函数名称 BOOL PLAY_Pause(LONG nPort, DWORD nPause)功能描述 播放暂停/恢复大华播放 SDK 编程手册第 21 页 共 55 页nPort

42、 通道号参数说明nPause TRUE 暂停FLASE 恢复返回值 成功返回 TRUE,不成功返回 FALSE4.4.2 PLAY_Fast函数名称 BOOL PLAY_Fast(LONG nPort)功能描述 快速播放。播放速度分为九级,播放速度分别为每秒播放1,3,6,12,25,50,75,100,125 帧图像。每次调用播放速度提升一级最多调用4 次,要恢复正常播放调用 PLAY_Play,从当前位置开始正常播放参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.4.3 PLAY_Slow函数名称 BOOL PLAY_Slow (LONG nPort)功能

43、描述 慢速播放,同上。每次调用播放速度降一级;最多调用 4 次,要恢复正常播放调用 PLAY_Play参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.4.4 PLAY_OneByOne函数名称 BOOL PLAY_OneByOne(LONG nPort)功能描述 单帧播放。要恢复正常播放调用 PLAY_ Play参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.4.5 PLAY_OneByOneBack函数名称 BOOL PLAY_OneByOneBack(LONG nPort)功能描述 单帧回放。每调用一次倒退一帧。此函数必须

44、在文件索引生成之 后才能调用参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE大华播放 SDK 编程手册第 22 页 共 55 页4.4.6 PLAY_BackOne函数名称 BOOL PLAY_BackOne(LONG nPort)功能描述 此接口与 PLAY_OneByOneBack 重复参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.4.7 PLAY_Back函数名称 BOOL PLAY_Back(LONG nPort)功能描述 反向回放参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.5 音频

45、控制4.5.1 PLAY_PlaySound函数名称 BOOL PLAY_PlaySound (LONG nPort)功能描述 打开声音;同一时刻只能有一路声音。如果现在已经有声音打开,则自动关闭原来已经打开的声音。注意:默认情况下声音是关闭的参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE4.5.2 PLAY_StopSound函数名称 BOOL PLAY_StopSound()功能描述 关闭声音参数说明 无返回值 成功返回 TRUE,不成功返回 FALSE4.5.3 PLAY_PlaySoundShare函数名称 BOOL PLAY_PlaySoundShar

46、e(LONG nPort)功能描述 以共享方式播放声音,播放本路声音而不去关闭其他路的声音参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回 FALSE大华播放 SDK 编程手册第 23 页 共 55 页4.5.4 PLAY_StopSoundShare函数名称 BOOL PLAY_StopSoundShare(LONG nPort)功能描述 以共享方式关闭声音。PLAY_PlaySound 和 PLAY_StopSound 是以独占方式播放声音的。注意:在同一个进程中,所有通道必须使用相同的方式播放或关闭声音参数说明 nPort 通道号返回值 成功返回 TRUE,不成功返回

47、FALSE4.5.5 PLAY_SetVolume函数名称 BOOL PLAY_SetVolume(LONG nPort, WORD nVolume)功能描述 设置音量nPort 通道号参数说明nVolume 音量的值,范围0, 0XFFFF返回值 成功返回 TRUE,不成功返回 FALSE4.5.6 PLAY_GetVolume函数名称 WORD PLAY_GetVolume(LONG nPort)功能描述 获得当前设置的音量参数说明 nPort 通道号返回值 当前设置的音量值4.5.7 PLAY_AdjustWaveAudio函数名称 BOOL PLAY_AdjustWaveAudio(L

48、ONG nPort, LONG nCoefficient)功能描述 调整 WAVE 波形,可以改变声音的大小。它和 PLAY_SetVolume 的不同在于,它是调整声音数据,只对该路其作用,而 PLAY_SetVolume 是调整声卡音量,对整个系统起作用。该函数尚未实现nPort 通道号参数说明nCoefficient 调整的参数,范围从MIN_WAVE_COEF 到 MAX_WAVE_COEF,0是不调整返回值 成功返回 TRUE,不成功返回 FALSE大华播放 SDK 编程手册第 24 页 共 55 页4.6 数据回调4.6.1 PLAY_SetDecCallBack函数名称 BOOL

49、 PLAY_SetDecCallBack(LONG nPort, void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nReserved1,long nReserved2)功能描述 设置回调函数,替换播放器中的显示部分,由用户自己控制显示,该函数在 PLAY_Play 之前调用,在 PLAY_Stop 时自动失效,下次调用PLAY_Play 之前需要重新设置。解码部分不控制速度,只要用户从回调函数中返回,解码器就会解码下一部分数据。【注意】这个功能的使用需要用户对视频显示和声音播放有足够的了解,否则请慎重使用。nPort 通道号参数说明DecCBFun 回调函数指针,不能为NULL返回值 成功返回 TRUE,不成功返回 FALSE 回调函数参数说明:回调函数 voi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报