有音视频开发经验或者无经验的,打算或者正在使用“锐动音视频编辑SDK”的相关工程师。
Delphi | VC | |
---|---|---|
视频的头结构信息 | TAV_HeadAttr=packed record
Title:array[0..511] of AnsiChar; Author:array[0..511] of AnsiChar; Copyringht:array[0..511] of AnsiChar; Comment:array[0..511] of AnsiChar; Album:array[0..511] of AnsiChar; Genre:array[0..31] of AnsiChar; Duration:int64; //视频时间长度 Bitrate:integer; //视频码率(微秒) end;PAV_HeadAttr=^TAV_HeadAttr; |
typedef struct tag_AV_HEADER_ATTR {
char title[512]; char author[512]; char copyright[512]; char comment[512]; char album[512]; char genre[32]; INT64 duration; int bitrate; }AV_HEADER_ATTR,*PAV_HEADER_ATTR; |
视频的音频结构信息。用于获取音频信息,或者转换的时候设置信息 | TAudio_Attr=packed record
Acodec:array[0..63] of AnsiChar; //音频编码器 Acodectag:array[0..63] of AnsiChar; Channels:integer; //声道数量 Samples:integer; //采样率 Bitrate:integer; //码率 end;PAudio_Attr=^TAudio_Attr; |
typedef struct tag_AV_AUDIO_ATTR {
char acodec[64]; char acodecTag[64]; int channels; int samples; int bitrate; }AV_AUDIO_ATTR,*PAV_AUDIO_ATTR; |
音频附加属性,用于转换的时候设置 | TAudio_AttrEx=packed record
Disable:BOOL; //是否禁用 volume:integer; //音量 end;PAudio_AttrEx=^TAudio_AttrEx; |
typedef struct tag_AV_AUDIO_ATTR_EX {
BOOL disable; int volume; //声音增量-[20 ~ 500](100为源音量) }AV_AUDIO_ATTR_EX,*PAV_AUDIO_ATTR_EX; |
视频的视频结构信息。用于获取视频信息,或者转换的时候设置信息 | TVideo_Attr=packed record
Vcodec:array[0..63] of AnsiChar; //编码器 Vcodectag:array[0..63] of AnsiChar; Width:integer; //视频宽度 Height:integer; //视频高度 Bitrate:integer; //视频码率 Framerate:double; //帧率 Aspect:double; //宽高比 Aspectwidth:integer; Aspectheight:integer; end;PVideo_attr=^TVideo_Attr; |
typedef struct tag_AV_VIDEO_ATTR {
char vcodec[64]; char vcodecTag[64]; int width; int height; int bitrate; double framerate; double aspect; int aspectWidth; int aspectHeight; }AV_VIDEO_ATTR,*PAV_VIDEO_ATTR; |
视频附加属性,用于转换的时候设置 | TAV_FrameSize_Attr=packed record
Top:integer; Bottom:integer; Left:integer; Right:integer; end;PAV_FrameSize_Attr=^TAV_FrameSize_Attr; TVideo_AttrEx=packed record Disable:BOOL; Qcale:integer; Qmin:integer; Qmax:integer; maxrate:integer; qtlevel:integer; cutsize:TAV_FrameSize_Attr; padsize:TAV_FrameSize_Attr; end;PVideo_AttrEx=^TVideo_AttrEx; |
typedef struct tag_AV_FRAME_SIZE_ATTR {
int top; int bottom; int left; int right; }AV_FRAME_SIZE_ATTR,*PAV_FRAME_SIZE_ATTR;typedef struct tag_AV_VIDEO_ATTR_EX { BOOL disable; int qcale; int qMin; int qMax; int maxrate; int qtLevel; AV_FRAME_SIZE_ATTR cutSize; AV_FRAME_SIZE_ATTR padSize; }AV_VIDEO_ATTR_EX,*PAV_VIDEO_ATTR_EX; |
视频合并时设置使用的结构 | AV_JOIN_Input_Attr=packed record
disableAudio:BOOL; volumn:integer; //音量 disableVideo:BOOL; corpFrame:TAV_FrameSize_Attr; //画面裁剪大小 padFrame:TAV_FrameSize_Attr; startTime:int64; //截取的开始时间 duringTime:int64; //截取的时间长度 end;PAV_JOIN_Input_Attr=^AV_JOIN_Input_Attr; |
typedef struct tag_AV_JOIN_INPUT_ATTR {
BOOL disableAudio; int volumn; //调节音频声音 100为基数(原始) BOOL disableVideo; AV_FRAME_SIZE_ATTR corpFrame; //视频剪切 AV_FRAME_SIZE_ATTR padFrame; //视频补贴 INT64 startTime; //时间截取 开始时间 INT64 duringTime; //时间截取 持续时间 }AV_JOIN_INPUT_ATTR,*PAV_JOIN_INPUT_ATTR; |
文字水印的结构 | WATERMASK_TEXT_ATTR = packed record
Text:array [0..259] of AnsiChar; Rect:TRECT; Font:FONT_PEP; nStartTime:int64; nEndTime:int64; Align:UINT; Transparence:UINT; Effect:UINT; clrEffect:RGBQUAD; end;TWATERMASK_TEXT_ATTR = WATERMASK_TEXT_ATTR; PWATERMASK_TEXT_ATTR = ^TWATERMASK_TEXT_ATTR; |
typedef struct _tag_WATERMASK_TEXT_ATTR {
char text[260]; RECT rect; FONT_PEP font; INT64 start_time; INT64 end_time; int align; //0 left 1 center 2 right int transparence; int effect; RGBQUAD clr_effect; #endif}TEXT_ATTR,*PTEXT_ATTR; |
图片水印的结构 | WATERMASK_PIC_ATTR = packed record
path:array [0..259] of AnsiChar; rect:TRECT; transparence:UINT; nStartTime:int64; nEndTime:int64; end;TWATERMASK_PIC_ATTR = WATERMASK_PIC_ATTR; PWATERMASK_PIC_ATTR = ^TWATERMASK_PIC_ATTR; |
typedef struct _tag_WATERMASK_PIC_ATTR {
char path[260]; RECT rect; UINT transparence; //透明度--0~100 INT64 start_time; INT64 end_time; }PIC_ATTR,*PPIC_ATTR; |
自定义字体结构 | TFONT_PEP = packed record
namex:array [0..31] of AnsiChar; width:integer; height:integer; bold:integer; bias:integer; underline:integer; fontClr:RGBQUAD; charset:UINT; end;FONT_PEP = TFONT_PEP; PFONT_PEP = ^TFONT_PEP; |
typedef struct _tag_FONT_PEP {
char name[32]; int width; int height; BOOL blod; //粗体 BOOL bias; //斜体 BOOL underline; //下划线 RGBQUAD fontClr; //字体颜色 UINT charset; //字符集 }FONT_PEP,*PFONT_PEP; |
该功能所有接口包含在AVPlayer.dll中。
接口 | [Delphi]: function
VideoPlayer_Init(hParentWnd:integer;rc:TRect):integer;
[VC]: BOOL VideoPlayer_Init(HWND hParentWnd,RECT rc); |
功能 | 初始化视频播放器 |
参数 | [in] hParentWnd : 视频播放时显示在的窗体handle
[in] rc : 在窗体上面的播放位置和大小 |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_OpenFile(szFileName:PAnsiChar):integer;
[VC]: HANDLE VideoPlayer_OpenFile(char* szFileName); |
功能 | 打开要播放的文件 |
参数 | [in] szFileName : 文件路径 |
返回 | 成功打开后返回非0的handle |
接口 | [Delphi]: function VideoPlayer_GetTotalTime(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetTotalTime(HANDLE handle); |
功能 | 获取视频的总的时间程度(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 视频总时间(秒) |
接口 | [Delphi]: function
VideoPlayer_GetTotalTime_InMillisecond(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetTotalTime_InMillisecond(HANDLE handle); |
功能 | 获取视频的总的时间程度(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 视频总时间(毫秒) |
接口 | [Delphi]: function VideoPlayer_GetCurrentTime(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetCurrentTime(HANDLE handle); |
功能 | 获取当前播放到的时间点(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 当前播放到时间点(秒) |
接口 | [Delphi]: function
VideoPlayer_GetCurrentTime_InMillisecond(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetCurrentTime_InMillisecond(HANDLE handle); |
功能 | 获取当前播放到的时间点(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 当前播放到时间点(毫秒) |
接口 | [Delphi]: function
VideoPlayer_Play(handle:integer;iStart:int64;iEnd:int64;bSeekInByte:BOOL;bConvertRatio:BOOL
):BOOL;
[VC]: BOOL VideoPlayer_Play(HANDLE handle,UINT64 iStart,UINT64 iEnd,BOOL bSeekInByte,BOOL bConvertRatio); |
功能 | 播放视频(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] iStart : 起始时间(秒) [in] iEnd : 结束时间(秒),如果为0,则播放到视频结尾 [in] bSeekInByte : 使用False [in] bConvertRatio : 是否缩放比例播放 |
返回 | 播放成功与否 |
接口 | [Delphi]: function
VideoPlayer_Play_InMillisecond(handle:integer;iStart:int64;iEnd:int64;bSeekInByte:BOOL;
bConvertRatio:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Play_InMillisecond(HANDLE handle,UINT64 iStart,UINT64 iEnd,BOOL bSeekInByte,BOOL bConvertRatio); |
功能 | 播放视频(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] iStart : 起始时间(毫秒) [in] iEnd : 结束时间(毫秒),如果为0,则播放到视频结尾 [in] bSeekInByte : 使用False [in] bConvertRatio : 是否缩放比例播放 |
返回 | 播放成功与否 |
接口 | [Delphi]: Function VideoPlayer_Pause(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Pause(HANDLE handle); |
功能 | 暂停播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_Continue(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Continue(HANDLE handle); |
功能 | 暂停后继续播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_Stop(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Stop(HANDLE handle); |
功能 | 停止播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_Seek(handle:integer;Pos:int64;bSeekInByte:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Seek(HANDLE handle, UINT64 Pos,BOOL bSeekInByte); |
功能 | 指定时间点进行播放(拖拽播放功能)。必须在VideoPlayer_Play之后使用 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 要播放的时间点(秒) [in] bSeekInByte : 使用False |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_Seek_InMillisecond(handle:integer;Pos:int64;bSeekInByte:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Seek_InMillisecond(HANDLE handle, UINT64 Pos,BOOL bSeekInByte); |
功能 | 指定时间点进行播放(拖拽播放功能)。必须在VideoPlayer_Play之后使用 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 要播放的时间点(毫秒) [in] bSeekInByte : 使用False |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_BrowerFileFrame(handle:integer;Pos:int64;bConvertRatio:BOOL;bSavetofile:BOOL;
szfilename:PAnsiChar):BOOL;
[VC]: BOOL VideoPlayer_BrowerFileFrame(HANDLE handle,INT64 Pos,BOOL bConvertRatio,BOOL bSaveToFile,char* szFileName); |
功能 | 在非播放状态下获取指定时间点的帧画面 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 时间点(秒) [in] bConvertRatio : 是否按比例缩放 [in] bSavetoFile : 是否保存到文件(如果是true,将帧画面保存成文件,false则将帧画面显示到播放窗体上) [in] szfilename : 当bsavetofile为true,将帧画面保存到该路径中 |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_BrowerFileFrame_InMillisecond(handle:integer;Pos:int64;bConvertRatio:BOOL;
bSavetofile:BOOL;szfilename:PAnsiChar):BOOL;
[VC]: BOOL VideoPlayer_BrowerFileFrame_InMillisecond(HANDLE handle,INT64 Pos,BOOL bConvertRatio,BOOL bSaveToFile,char* szFileName); |
功能 | 在非播放状态下获取指定时间点的帧画面 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 时间点(毫秒) [in] bConvertRatio : 是否按比例缩放 [in] bSavetoFile : 是否保存到文件(如果是true,将帧画面保存成文件,false则将帧画面显示到播放窗体上) [in] szfilename : 当bsavetofile为true,将帧画面保存到该路径中 |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_CloseFile(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_CloseFile(HANDLE handle); |
功能 | 关闭一个打开的视频文件(打开一个文件之前,必须先调用该函数关闭之前打开的视频文件) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_QueryState():integer;
[VC]: int VideoPlayer_QueryState(); |
功能 | 查询播放的状态 |
参数 | 无 |
返回 | 状态值
PLAYER_STATE_PLAY = 5; PLAYER_STATE_PAUSE = 7; PLAYER_STATE_STOP = 8; |
接口 | [Delphi]: procedure VideoPlayer_Resize(rc:TRect);
[VC]: void VideoPlayer_Resize(RECT rc); |
功能 | 重新设置播放的区域大小 |
参数 | [in] rc : 区域大小 |
返回 | 无 |
接口 | [Delphi]: function VideoPlayer_Destory():BOOL;
[VC]: BOOL __stdcall VideoPlayer_Destory(); |
功能 | 释放VideoPlayer_Init初始化的播放器 |
参数 | 无 |
返回 | 成功与否 |
该功能所有接口包含在AVCKernel.dll中。
普通格式(非RMVB):
接口 | [Delphi]: function
AV_SetCutTime(handle:integer;nBegin:integer;nDuring:integer):BOOL;
[VC]: BOOL AV_SetCutTime(HANDLE handle,int nBegin, int nDuring); |
功能 | 设置截取的时间段(秒) |
参数 | [in] handle : AV_Open()返回的handle
[in] nBegin : 截取的开始时间点(秒) [in] nDuring : 截取持续的时间长度(秒) |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetCutTime_Millisecond(handle:integer;nBegin:INT64;nDuring:INT64):BOOL;
[VC]: BOOL AV_SetCutTime_Millisecond(HANDLE handle,INT64 nBegin, INT64 nDuring); |
功能 | 设置截取的时间段(毫秒) |
参数 | [in] handle : AV_Open()返回的handle
[in] nBegin : 截取的开始时间点(毫秒) [in] nDuring : 截取持续的时间长度(毫秒) |
返回 | 成功与否 |
RMVB格式:
接口 | [Delphi]: function RMVBSplit_Open():integer;
[VC]: HANDLE __stdcall RMVBSplit_Open(); |
功能 | 初始化RMVB转换 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function RMVBSplit_Close(handle:integer):integer;
[VC]: BOOL __stdcall RMVBSplit_Close(HANDLE handle); |
功能 | 反初始化RMVB转换 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBSplit_SetInputPath(handle:integer;szInputpath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall RMVBSplit_SetInputPath(HANDLE handle, const AnsiChar* szInputPath); |
功能 | 设置源文件 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle
[in] szInputpath : 源文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBSplit_SetOutputPath(handle:integer;szOutputpath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall RMVBSplit_SetOutputPath(HANDLE handle,const AnsiChar* szOutputPath); |
功能 | 设置输出路径 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle
[in] szOutputpath : 输出路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBSplit_SetSplitTime(handle:integer;nStart:int64;nDuration:int64):BOOL;
[VC]: BOOL __stdcall RMVBSplit_SetSplitTime(HANDLE handle, INT64 start,INT64 duration); |
功能 | 设置分割或截取的时间段 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle
[in] nStart : 开始时间点 [in] nDuration : 从开始时间点到结束时间点的时间长度 |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBSplit_Split(handle:integer):BOOL;
[VC]: BOOL __stdcall RMVBSplit_Split(HANDLE handle); |
功能 | 开始分割 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBSplit_Stop(handle:integer):BOOL;
[VC]: BOOL __stdcall RMVBSplit_Stop(HANDLE handle); |
功能 | 停止分割 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBSplit_GetProgress(handle:integer):DWORD;
[VC]: DWORD __stdcall RMVBSplit_GetProgress(HANDLE handle); |
功能 | 获取分割进度 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle |
返回 | 进度[0-100] |
接口 | [Delphi]: function RMVBSplit_GetLastError(handle:integer):DWORD;
[VC]: DWORD __stdcall RMVBSplit_GetLastError(HANDLE handle); |
功能 | 获取错误码 |
参数 | [in] handle : RMVBSplit_Ope()返回的handle |
返回 | 错误码 |
接口 | [Delphi]: function AVJoin_Open():integer;
[VC]: HANDLE __stdcall AVJoin_Open(); |
功能 | 初始化视频合并 |
参数 | 无 |
返回 | 返回handle |
接口 | [Delphi]: function AVJoin_Close(Handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_Close(HANDLE handle); |
功能 | 释放合并接口 |
参数 | [in] handle : AVJoin_Open()返回的handle |
返回 | 是否成功 |
接口 | [Delphi]: function
AVJoin_AddInputFile(handle:integer;szInputPath:PAnsiChar;pHanleFile:PDWORD):BOOL;
[VC]: BOOL __stdcall AVJoin_AddInputFile(HANDLE handle,const char *szInputPath,DWORD *pHanleFile); |
功能 | 添加合并的文件 |
参数 | [in] handle : Open的handle
[in] szinputpath : 文件路径 [in/out] pHanleFile : 添加成功之后返回该文件handle,在AVJoin_SetInputFileAttr函数中来标示添加的对应属性 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVJoin_SetInputFileAttr(Handle:integer;dwHandle:dword;joinAttr:AV_JOIN_INPUT_ATTR):BOOL;
[VC]: BOOL __stdcall AVJoin_SetInputFileAttr(HANDLE handle,DWORD dwHandle,AV_JOIN_INPUT_ATTR joinAttr); |
功能 | AVJoin_AddInputFile添加合并文件之后,调用该函数设置添加文件的合并属性 |
参数 | [in] handle : Open的handle
[in] dwHandle : AVJoin_AddInputFile添加文件返回的pHanleFile [in] joinAttr : 文件属性 |
返回 | 是否成功 |
接口 | [Delphi]: function
AVJoin_SetOutputPath(handle:integer;szOutputpath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall AVJoin_SetOutputPath(HANDLE handle,const char *szOutputPath); |
功能 | 设置输出文件路径 |
参数 | [in] handle : Open的handle
[in] szOutputpath : 路径 |
返回 | 是否设置成功 |
接口 | [Delphi]: function
AVJoin_SetOutputFormat(handle:integer;avtype:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_SetOutputFormat(HANDLE handle,AVVideoType avType); |
功能 | 设置输出目标格式的序号 |
参数 | [in] handle : Open的handle
[in] avtype : 类型 |
返回 | 是否设置成功 |
接口 | [Delphi]: function
AVJoin_SetAudioAttr(handle:integer;audioattr:TAudio_attr):BOOL;
[VC]: BOOL __stdcall AVJoin_SetAudioAttr(HANDLE handle,AV_AUDIO_ATTR audioAttr); |
功能 | 设置输出的音频属性 |
参数 | [in] handle : Open的handle
[in] audioattr : 音频属性结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVJoin_SetVideoAttr(handle:integer;videoAttr:TVideo_attr):BOOL;
[VC]: BOOL __stdcall AVJoin_SetVideoAttr(HANDLE handle,AV_VIDEO_ATTR videoAttr); |
功能 | 设置输出的视频属性 |
参数 | [in] handle : Open的handle
[in] videoAttr : 视频属性结构 |
返回 | 成功与否 |
接口 | [Delphi]: function AVJoin_DisableAudio(handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_DisableAudio(HANDLE handle); |
功能 | 禁止输出的文件中使用音频 |
参数 | [in] handle : Open的handle |
返回 | 是否成功 |
接口 | [Delphi]: function AVJoin_DisableVideo(handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_DisableVideo(HANDLE handle); |
功能 | 禁止输出的文件中使用视频 |
参数 | [in] handle : Open的handle |
返回 | 是否成功 |
接口 | [Delphi]: function
AVJoin_SetPreviewHwnd(HANDLE:integer;hWindow:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置合并时,预览画面绘制到的窗体 |
参数 | [in] handle : Open的handle
[in] hwnd : 画面显示的目标窗体handle |
返回 | 是否成功 |
接口 | [Delphi]: function
AVJoin_EnablePreview(handle:integer;bEnable:Bool):BOOL;
[VC]: BOOL __stdcall AVJoin_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 转换时候预览画面的开关函数 |
参数 | [in] handle : Open的handle
[in] bEnable : 是否显示预览画面 |
返回 | 是否成功 |
接口 | [Delphi]: function AVJoin_Convert(handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_Convert(HANDLE handle); |
功能 | 开始合并 |
参数 | [in] handle : Open的handle |
返回 | 是否成功 |
接口 | [Delphi]: function AVJoin_GetProgress(handle:integer):DWORD;
[VC]: DWORD __stdcall AVJoin_GetProgress(HANDLE handle); |
功能 | 获取合并进度 |
参数 | [in] handle : Open的handle |
返回 | 进度 0 ~ 100 |
接口 | [Delphi]: function AVJoin_Stop(handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_Stop(HANDLE handle); |
功能 | 停止合并 |
参数 | [in] handle : Open的handle |
返回 | 是否成功 |
接口 | [Delphi]: function AVJoin_GetLastError(handle:integer):DWORD;
[VC]: DWORD __stdcall AVJoin_GetLastError(HANDLE handle); |
功能 | 获取合并错误 |
参数 | [in] handle : Open的handle |
返回 | 错误码 |
接口 | [Delphi]: function AVJoin_CheckSameQuanlity(handle:integer):BOOL;
[VC]: BOOL __stdcall AVJoin_CheckSameQuanlity(HANDLE handle); |
功能 | 检查添加的所有视频文件是否是相同的音频和视频属性,如果相同,则可以使用快速合并 |
参数 | [in] handle : Open的handle |
返回 | 是否相同 |
接口 | [Delphi]: procedure
AVJoin_SetAutoPadStatus(handle:integer;status:integer);
[VC]: void __stdcall AVJoin_SetAutoPadStatus(HANDLE handle,BOOL status); |
功能 | 设置是否自动黑边 |
参数 | [in] handle : Open的handle |
返回 | 无 |
视频合并成RMVB格式,接口包含在AVCKernel.dll中
接口 | [Delphi]: function RMVBJoin_Open():integer;
[VC]: HANDLE __stdcall RMVBJoin_Open(); |
功能 | 初始化RMVB合并 |
参数 | 无 |
返回 | 返回handle |
接口 | [Delphi]: function RMVBJoin_Close(handle:integer):BOOL;
[VC]: BOOL __stdcall RMVBJoin_Close(HANDLE handle); |
功能 | 释放合并接口 |
参数 | [in] handle : RMVBJoin_Open()返回的handle |
返回 | 是否成功 |
接口 | [Delphi]: function
RMVBJoin_AddInputPath(handle:integer;szInputPath:PAnsiChar;pdwIndex:PDWORD):BOOL;
[VC]: BOOL __stdcall RMVBJoin_AddInputPath(HANDLE handle, const char* szInputPath,DWORD *pdwIndex); |
功能 | 添加合并文件 |
参数 | [in] handle : Open的handle
[in] szinputpath : 文件路径 [in/out]pdwIndex : 添加成功之后返回该文件handle,在RMVBJoin_SetInputAttr函数中来标示添加的对应属性 |
返回 | 是否成功 |
接口 | [Delphi]: function
RMVBJoin_SetInputAttr(handle:integer;dwindex:dword;avJoinAttr:AV_JOIN_INPUT_ATTR):BOOL;
[VC]: BOOL __stdcall RMVBJoin_SetInputAttr(HANDLE handle,DWORD dwIndex, AV_JOIN_INPUT_ATTR avJoinAttr); |
功能 | RMVBJoin_AddInputPath添加合并文件之后,调用该函数设置添加文件的合并属性 |
参数 | [in] handle : Open的handle
[in] dwindex : RMVBJoin_AddInputPath添加文件返回的pdwIndex [in] avJoinAttr : 文件属性 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_SetDestPath(handle:integer;szDestPath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall RMVBJoin_SetDestPath(HANDLE handle, const char* szDestPath); |
功能 | 设置输出合并文件路径 |
参数 | [in] handle : Open的handle
[in] szDestPath : 文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_SetFrameSize(handle:integer;width:integer;height:integer):BOOL;
[VC]: BOOL __stdcall RMVBJoin_SetFrameSize(HANDLE handle, int width,int height); |
功能 | 设置输出视频的宽和高 |
参数 | [in] handle : Open的handle
[in] width : 宽 [in] height : 高 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_RMVB_SetPreviewHwnd(handle:integer;hWindow:integer):BOOL;
[VC]: BOOL __stdcall RMVBJoin_RMVB_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置合并时,预览画面绘制到的窗体 |
参数 | [in] handle : Open的handle
[in] hWindow : 画面显示的目标窗体handle |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_RMVB_EnablePreview(handle:integer;bEnable:Bool):BOOL;
[VC]: BOOL __stdcall RMVBJoin_RMVB_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 转换时候预览画面的开关函数 |
参数 | [in] handle : Open的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_SetAudiences(handle:integer;szAudiences:PAnsiChar):BOOL;
[VC]: BOOL __stdcall RMVBJoin_SetAudiences(HANDLE handle,const char* szAudiences); |
功能 | 设置输出视频压缩方式 |
参数 | [in] handle : Open的handle
[in] szaudiences : RMVB视频压缩方式 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_RMVB_EnablePreview(handle:integer;bEnable:Bool):BOOL;
[VC]: BOOL __stdcall RMVBJoin_RMVB_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 转换时候预览画面的开关函数 |
参数 | [in] handle : Open的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
接口 | [Delphi]: function
RMVBJoin_SetPictureQt(handle:integer;szPicruteQt:PAnsiChar):BOOL;
[VC]: BOOL __stdcall RMVBJoin_SetPictureQt(HANDLE handle,const char* szPictureQt); |
功能 | 设置输出视频画面质量 |
参数 | [in] handle : Open的handle
[in] szPicruteQt : RMVB画面质量 [normal smooth sharp] |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBJoin_Convert(handle:integer):BOOL;
[VC]: BOOL __stdcall RMVBJoin_Convert(HANDLE handle); |
功能 | RMVB合并 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBJoin_Stop(handle:integer):BOOL;
[VC]: BOOL __stdcall RMVBJoin_Stop(HANDLE handle); |
功能 | 停止合并 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBJoin_GetProgress(handle:integer):DWORD;
[VC]: DWORD __stdcall RMVBJoin_GetProgress(HANDLE handle); |
功能 | RMVB合并获取进度 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function RMVBJoin_GetLastError(handle:integer):DWORD;
[VC]: DWORD __stdcall RMVBJoin_GetLastError(HANDLE handle); |
功能 | RMVB合并获取错误 |
参数 | [in] handle : Open的handle |
返回 | 错误码 |
接口 | [Delphi]: function mp3gain_Open():integer;
[VC]: HANDLE __stdcall mp3gain_Open(); |
功能 | 初始化音量调整接口 |
参数 | 无 |
返回 | 返回handle |
接口 | [Delphi]: function mp3gain_Close(hanlde:integer):BOOL;
[VC]: BOOL __stdcall mp3gain_Close(HANDLE handle); |
功能 | 反初始化音量调整接口 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function mp3gain_StopConvert(handle:integer):BOOL;
[VC]: BOOL __stdcall mp3gain_StopConvert(HANDLE handle); |
功能 | 停止调整音量 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
mp3gain_Addinputfile(handle:integer;filepath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall mp3gain_Addinputfile(HANDLE handle,const char *filepath); |
功能 | 添加要调整音量的音频文件 |
参数 | [in] handle : Open的handle
[in] filepath : 路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
mp3gain_analyse(handle:integer;type_kind:DWORD):BOOL;
[VC]: BOOL __stdcall mp3gain_analyse(HANDLE handle,DWORD type_kind); |
功能 | 分析添加的音频文件 |
参数 | [in] handle : Open的handle
[in] type_kind : 默认0即可 |
返回 | 成功与否 |
接口 | [Delphi]: function mp3gain_GetVolumevalue(handle:integer):single;
[VC]: FLOAT __stdcall mp3gain_GetVolumevalue(HANDLE handle); |
功能 | 获取添加的音频文件的音量 |
参数 | [in] handle : Open的handle |
返回 | 音量 |
接口 | [Delphi]: function
mp3gain_SetVolumevalue(handle:integer;volume:single):BOOL;
[VC]: BOOL __stdcall mp3gain_SetVolumevalue(HANDLE handle, float volume); |
功能 | 设置添加的音频文件的音量 |
参数 | [in] handle : Open的handle
[in] volume : 设置需要调整到的音量 |
返回 | 成功与否 |
接口 | [Delphi]: function mp3gain_start(handle:integer):BOOL;
[VC]: BOOL __stdcall mp3gain_start(HANDLE handle); |
功能 | 开始调整音量 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
mp3gain_GetConvertprogress(handle:integer):integer;
[VC]: INT __stdcall mp3gain_GetConvertprogress(HANDLE handle); |
功能 | 获取调整音量的进度 |
参数 | [in] handle : Open的handle |
返回 | 进度0 ~ 100 |
接口 | [Delphi]: function AV_Open():integer;
[VC]: HANDLE AV_Open(); |
功能 | 初始化转换 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function
AV_SetInputpath(handle:integer;szInputpaht:PAnsiChar):BOOL;
[VC]: BOOL AV_SetInputpath(HANDLE handle,const char *szInputPath); |
功能 | 设置需要转换的源文件,或者是需要获取信息的源文件 |
参数 | [in] handle : AV_Open()返回的handle
[in] szInputpaht : 源文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_GetInputFileAttr(handle:integer;pAVHeadAttr:PAV_HeadAttr;pAVAudioAttr:Paudio_attr;
pAVVideoAttr:PVideo_attr):BOOL;
[VC]: BOOL AV_GetInputFileAttr(HANDLE handle,AV_HEADER_ATTR *pAVHeadAttr,AV_AUDIO_ATTR *pAVAudioAttr,AV_VIDEO_ATTR *pAVVideoAttr); |
功能 | 获取AV_SetInputpath添加的源文件的视频信息 |
参数 | [in] handle : AV_Open()返回的handle
[in/out] pAVHeadAttr : 头结构信息 [in/out] pAVAudioAttr : 音频结构信息 [in/out] pAVVideoAttr : 视频结构信息 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetOutputFormatEx(handle:integer;enumAVType:integer):BOOL;
[VC]: BOOL AV_SetOutputFormatEx(HANDLE handle,AVVideoType enumAVType); |
功能 | 设置输出目标格式的序号 |
参数 | [in] handle : AV_Open()返回的handle
[in] enumAVType : 目标格式的序号,在格式配置文件中读取 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAudioAttrEx(handle:integer;AudioAttrEx:TAudio_AttrEx):BOOL;
[VC]: BOOL AV_SetAudioAttrEx(HANDLE handle,AV_AUDIO_ATTR_EX AudioAttrEx); |
功能 | 设置转换目标的音频附加属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 附加的音频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAudioAttr(Handle:integer;Audioattr:TAudio_Attr):BOOL;
[VC]: BOOL AV_SetAudioAttr(HANDLE handle,AV_AUDIO_ATTR audioAttr); |
功能 | 设置转换目标的音频属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 音频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetVideoAttrEx(handle:integer;VideoAttrEx:TVideo_AttrEx):BOOL;
[VC]: BOOL AV_SetVideoAttrEx(HANDLE handle,AV_VIDEO_ATTR_EX videoAttrEx); |
功能 | 设置转换目标的视频附加属性(目前主要用于设置是否包含视频流) |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 视频附加属性 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetVideoAttr(handle:integer;VideoAttr:TVideo_Attr):BOOL;
[VC]: BOOL AV_SetVideoAttr(HANDLE handle,AV_VIDEO_ATTR VideoAttr); |
功能 | 设置转换目标的视频属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] VideoAttr : 视频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetCutTime(handle:integer;nBegin:integer;nDuring:integer):BOOL;
[VC]: BOOL AV_SetCutTime(HANDLE handle,int nBegin,int nDuring); |
功能 | 设置截取的时间段(秒) |
参数 | [in] handle : AV_Open()返回的handle
[in] nBegin : 截取的开始时间点(秒) [in] nDuring : 截取持续的时间长度(秒) |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetCutTime_Millisecond(handle:integer;nBegin:INT64;nDuring:INT64):BOOL;
[VC]: BOOL AV_SetCutTime_Millisecond(HANDLE handle,INT64 nBegin, INT64 nDuring); |
功能 | 设置截取的时间段(毫秒) |
参数 | [in] handle : AV_Open()返回的handle
[in] nBegin : 截取的开始时间点(毫秒) [in] nDuring : 截取持续的时间长度(毫秒) |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetOutputPath(handle:integer;szOutputPath:PAnsiChar):BOOL;
[VC]: BOOL AV_SetOutputPath(HANDLE handle,const char *szOutputPath); |
功能 | 设置输出文件的保存路径 |
参数 | [in] handle : AV_Open()返回的handle
[in] szOutputPath : 输出文件的保存路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAChannel(handle:integer;channel:integer):BOOL;
[VC]: BOOL AV_SetAChannel(HANDLE handle,int channel); |
功能 | 设置转换目标的声道 |
参数 | [in] handle : AV_Open()返回的handle
[in] channel : 0:左 1:右 2:默认 |
返回 | 成功与否 |
接口 | [Delphi]: procedure AV_SetAutoPadStatus(handle:integer;status:BOOL);
[VC]: void AV_SetAutoPadStatus(HANDLE handle,BOOL status); |
功能 | 设置是否自动添加黑边 |
参数 | [in] handle : AV_Open()返回的handle
[in] status : True为自动添加黑边 |
返回 | 无 |
接口 | [Delphi]: function
AV_SetRotateAngle(handle:integer;nAngle:integer):BOOL;
[VC]: BOOL AV_SetRotateAngle(HANDLE handle, INT nAngle); |
功能 | 设置输出视频的旋转角度 |
参数 | [in] handle : AV_Open()返回的handle
[in] nAngle : 旋转角度 0、90、180、270 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_AdjustBCS(handle:integer;iBrightness:integer;iContrast:integer;iSaturation:integer):BOOL;
[VC]: BOOL AV_AdjustBCS(HANDLE handle,int iBrightness,int iContrast,int iSaturation); |
功能 | 设置输出亮度、对比度、饱和度 |
参数 | [in] handle : AV_Open()返回的handle
[in] iBright [-256~256] : 亮度 [in] iContrast [-100~100] : 对比度 [in] iSaturation [-100~100] : 饱和度 |
返回 | 成功与否 |
接口 | [Delphi]: procedure
AV_SetAutoSubtitleSRT(handle:integer;status:BOOL);
[VC]: void AV_SetAutoSubtitleSRT(HANDLE handle,BOOL status); |
功能 | 设置是否自动查找添加字幕(字幕查找规则:和视频在同一个目录下,并且文件名一样) |
参数 | [in] handle : AV_Open()返回的handle
[in] status : 是否自动添加, True为自动添加 |
返回 | 无 |
接口 | [Delphi]: function
AV_AddLtWater(handle:integer;TextAttr:TWATERMASK_TEXT_ATTR):BOOL;
[VC]: BOOL AV_AddLtWater(HANDLE handle,TEXT_ATTR TextAttr); |
功能 | 添加文字水印 |
参数 | [in] handle : AV_Open()返回的handle
[in] TextAttr : 文字水印信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_AddPicWater(handle:integer;picAttr:TWATERMASK_PIC_ATTR):BOOL;
[VC]: BOOL AV_AddPicWater(HANDLE handle,PIC_ATTR picAttr); |
功能 | 添加图片水印 |
参数 | [in] handle : AV_Open()返回的handle
[in] picAttr : 图片水印信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_AddSubtitleSRT(handle:integer;szPath:PAnsiChar;Font:FONT_PEP;rc:TRECT):BOOL;
[VC]: BOOL AV_AddSubtitleSRT(HANDLE handle,const char* path, FONT_PEP font,RECT rc); |
功能 | 添加srt格式字幕 |
参数 | [in] handle : AV_Open()返回的handle
[in] szPath : 字幕路径 [in] font : 字幕的字体、大小信息结构 [in] rc : 字幕在视频中的位置 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_AddSubtitleASS(hwnd:integer;szPath:PAnsiChar;fontName:PAnsiChar):BOOL;
[VC]: BOOL AV_AddSubtitleASS(HANDLE handle,const char*path,const char *fontName); |
功能 | 添加ass格式字幕 |
参数 | [in] handle : AV_Open()返回的handle
[in] szPath : 字幕路径 [in] fontName : 字幕的字体名称,目前不使用该参数 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetPreviewHwnd(handle:integer;hwnd:integer):BOOL;
[VC]: BOOL AV_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置转换时当前转换到的时间点的画面绘制到的窗体 |
参数 | [in] handle : AV_Open()返回的handle
[in] hwnd : 画面显示的目标窗体handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_EnablePreview(hwnd:integer;bEnable:Bool):BOOL;
[VC]: BOOL AV_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 设置转换时是否预览转换的画面 |
参数 | [in] handle : AV_Open()返回的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
接口 | [Delphi]: function AV_GetLastError(handle:integer):DWORD;
[VC]: DWORD AV_GetLastError(HANDLE handle); |
功能 | 获取错误码 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 错误码 |
接口 | [Delphi]: function AV_Convert(handle:integer):BOOL;
[VC]: BOOL AV_Convert(HANDLE handle); |
功能 | 开始转换 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_Stop(handle:integer):BOOL;
[VC]: BOOL AV_Stop(HANDLE handle); |
功能 | 停止转换 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_GetProgress(handle:integer):DWORD;
[VC]: DWORD AV_GetProgress(HANDLE handle); |
功能 | 获取转换进度 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 进度 0~100 |
接口 | [Delphi]: function AV_Close(handle:integer):BOOL;
[VC]: BOOL AV_Close(HANDLE handle); |
功能 | 释放转换。如果已经AV_Convert,需要先AV_Stop之后才可以调用 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
视频编辑转换成RMVB格式,接口包含在AVCKernel.dll中
接口 | [Delphi]: function AVC_RMVB_Open():integer;
[VC]: HANDLE _stdcall AVC_RMVB_Open(); |
功能 | RMVB转换初始化 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function AVC_RMVB_Close(handle:integer):BOOL;stdcall;
[VC]: BOOL EXPORT_FLAG AVC_RMVB_Close(HANDLE handle); |
功能 | 释放合并接口 |
参数 | [in] handle : AVC_RMVB_Open()返回的handle |
返回 | 是否成功 |
接口 | [Delphi]: function
AVC_RMVB_SetDestPath(handle:integer;szDestPath:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetDestPath(HANDLE handle, const AnsiChar* szDestPath); |
功能 | 设置输出路径 |
参数 | [in] handle : Open的handle
[in] szDestPath : 路径 |
返回 | 是否成功 |
接口 | [Delphi]: function
AVC_RMVB_SetCutSize(handle:integer;top:integer;bottom:integer;left:integer;right:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetCutSize(HANDLE handle,int top,int bottom,int left,int right); |
功能 | 设置源文件的裁剪大小 |
参数 | [in] handle : Open的handle
[in] top : 上 [in] bottom : 下 [in] left : 左 [in]right : 右 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetAudiences(handle:integer;szAudioences:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetAudiences(HANDLE handle,const AnsiChar* szAudiences); |
功能 | 设置目标的压缩方式 |
参数 | [in] handle : Open的handle
[in] szAudioences : 压缩方式 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetPictureQt(handle:integer;szPictureQt:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetPictureQt(HANDLE handle,const AnsiChar* szPictureQt); |
功能 | 设置目标的画面质量 |
参数 | [in] handle : Open的handle
[in] szPictureQt : 质量 [normal smooth sharp] |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_Convert(handle:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_Convert(HANDLE handle); |
功能 | 开始RMVB转换 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_Stop(handle:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_Stop(HANDLE handle); |
功能 | 停止RMVB转换 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_GetProgress(handle:integer):DWORD;
[VC]: BOOL _stdcall AVC_RMVB_GetProgress(HANDLE handle); |
功能 | 获取RMVB转换进度 |
参数 | [in] handle : Open的handle |
返回 | 进度[0-100] |
接口 | [Delphi]: function AVC_RMVB_GetLastError(handle:integer):DWORD;
[VC]: DWORD _stdcall AVC_RMVB_GetLastError(HANDLE handle); |
功能 | 获取RMVB错误码 |
参数 | [in] handle : Open的handle |
返回 | 错误码 |
接口 | [Delphi]: function
AVC_RMVB_SetInputPath(handle:integer;szInputPath:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetInputPath(HANDLE handle, const AnsiChar* szInputPath); |
功能 | 设置要转换的源文件 |
参数 | [in] handle : Open的handle
[in] szInputPath : 源文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetCutTime(handle:integer;nBegin:integer;nduration:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetCutTime(HANDLE handle,int begin,int duration); |
功能 | 设置截取时间段 |
参数 | [in] handle : Open的handle
[in] nBegin : 开始时间点 [in] nduration : 持续时间 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetRotateAngle(hwnd:integer;nAngle:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetRotateAngle(HANDLE handle, INT nAngle); |
功能 | 设置目标旋转角度 |
参数 | [in] handle : Open的handle
[in] nAngle : 角度 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetFrameSize(handle:integer;nWidth:integer;nHeight:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetFrameSize(HANDLE handle, int width,int height); |
功能 | 设置目标的画面大小 |
参数 | [in] handle : Open的handle
[in] nWidth : 宽 [in] nHeight : 高 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_AdjustBCS(handle:integer;iBrightness:integer;iContrast:integer;iSaturation:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_AdjustBCS(HANDLE handle,int iBrightness,int iContrast,int iSaturation); |
功能 | 设置目标画面的亮度,对比度,饱和度 |
参数 | [in] handle : Open的handle
[in] iBright [-256~256] : 亮度 [in] iContrast [-100~100] : 对比度 [in] iSaturation [-100~100] : 饱和度 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_AddLtWater(handle:integer;TextAttr:TWATERMASK_TEXT_ATTR):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_AddLtWater(HANDLE handle,TEXT_ATTR textAttr); |
功能 | 设置文字水印 |
参数 | [in] handle : Open的handle
[in] TextAttr : 文字水印信息 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_AddPicWater(handle:integer;picAttr:TWATERMASK_PIC_ATTR):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_AddPicWater(HANDLE handle,PIC_ATTR picAttr); |
功能 | 设置图片水印 |
参数 | [in] handle : Open的handle
[in] picAttr : 图片水印信息 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_AddSubtitleSRT(handle:integer;path:PAnsiChar;Font:FONT_PEP;rect:TRECT):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_AddSubtitleSRT(HANDLE handle,const char* path, FONT_PEP font,RECT rect); |
功能 | 设置SRT格式字幕 |
参数 | [in] handle : Open的handle
[in] path : 字幕源文件路径 [in] Font : 字幕的字体 [in] rect : 字幕的位置 |
返回 | 成功与否 |
接口 | [Delphi]: procedure
AVC_RMVB_SetAutoSubtitleSRT(handle:integer;bStatus:Bool);
[VC]: void _stdcall AVC_RMVB_SetAutoSubtitleSRT(HANDLE handle,BOOL status); |
功能 | 设置是否自动查找同文件夹下面同名的字幕 |
参数 | [in] handle : Open的handle
[in] bStatus : 是否自动查找添加同名的字幕 |
返回 | 无 |
接口 | [Delphi]: procedure
AVC_RMVB_SetAutoPadStatus(handle:integer;bStatus:Bool);
[VC]: void _stdcall AVC_RMVB_SetAutoPadStatus(HANDLE handle,BOOL status); |
功能 | 设置是否自动添加黑边 |
参数 | [in] handle : Open的handle
[in] bStatus : 是否黑边 |
返回 | 无 |
接口 | [Delphi]: function
AVC_RMVB_SetPreviewHwnd(handle:integer;hPreview:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置转换时,当前转换到的时间点的预览画面 |
参数 | [in] handle : Open的handle
[in] hwnd : 画面显示的目标窗体handle |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_EnablePreview(handle:integer;bEnable:Bool):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 转换时候预览画面的开关函数 |
参数 | [in] handle : Open的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
视频截图,该功能所有接口包含在AVCKernel.dll中。
接口 | [Delphi]: function Video2Pic_Open():integer;
[VC]: HANDLE __stdcall Video2Pic_Open(); |
功能 | 初始化 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function Video2Pic_Close(handle:integer):BOOL;
[VC]: BOOL __stdcall Video2Pic_Close(HANDLE handle); |
功能 | 反初始化 |
参数 | [in] handle : Video2Pic_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
Video2Pic_SetInputFile(handle:integer;szInputPath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall Video2Pic_SetInputFile(HANDLE handle,const AnsiChar *szInputPath); |
功能 | 设置源文件 |
参数 | [in] handle : Video2Pic_Open()返回的handle
[in] szInputPath : 路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
Video2Pic_SetOutputPath(handle:integer;szOutputPath:PAnsiChar):BOOL;
[VC]: BOOL __stdcall Video2Pic_SetOutputPath(HANDLE handle,const AnsiChar *szOutputPath); |
功能 | 设置输出路径 |
参数 | [in] handle : Video2Pic_Open()返回的handle
[in] szInputPath : 路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
Video2Pic_SetFrameSize(handle:integer;dwWidth:DWORD;dwHeight:DWORD):BOOL;
[VC]: BOOL __stdcall Video2Pic_SetFrameSize(HANDLE handle,DWORD dwWidth,DWORD dwHeight); |
功能 | 设置输出的图片大小 |
参数 | [in] handle : Video2Pic_Open()返回的handle
[in] time : 时间点 |
返回 | 成功与否 |
接口 | [Delphi]: function
Video2Pic_SetFrameStartTime(handle:integer;time:int64):BOOL;
[VC]: BOOL __stdcall Video2Pic_SetFrameStartTime(HANDLE handle,__int64 time); |
功能 | 设置抓取的时间点 |
参数 | [in] handle : Video2Pic_Open()返回的handle
[in] time : 时间点(微秒) |
返回 | 成功与否 |
接口 | [Delphi]: function Video2Pic_Convert(handle:integer):BOOL;
[VC]: BOOL __stdcall Video2Pic_Convert(HANDLE handle); |
功能 | 截取图片 |
参数 | [in] handle : Video2Pic_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function Video2Pic_GetLastError(handle:integer):DWORD;
[VC]: DWORD __stdcall Video2Pic_GetLastError(HANDLE handle); |
功能 | 获取错误码 |
参数 | [in] handle : Video2Pic_Open()返回的handle |
返回 | 错误码 |
接口 | [Delphi]: procedure
VideoPlayer_SetAudioSourceStatus(handle:integer;nDisable:integer);
[VC]: void VideoPlayer_SetAudioSourceStatus(HANDLE handle , int nDisable); |
功能 | 设置当前的播放的文件是否播放原始音频 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] nDisable : 1是设置没声音,0是有声音 |
返回 | 无 |
接口 | [Delphi]: function
VideoPlayer_AddAudioBackgroundMedia(handle:integer;szAudioPath:PAnsiChar;nTimeLineStart,
nTimeLineEnd:int64;dFactor:Double): integer;
[VC]: HANDLE VideoPlayer_AddAudioBackgroundMedia(HANDLE handle,const char* szAudioPath, INT64 nTimeLineStart,INT64 nTimeLineEnd,double dFactor); |
功能 | 添加配乐文件,在VideoPlayer_Play之前调用来添加 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] szAudioPath : 音乐文件路径 [in] nTimeLineStart : 在视频时间线上的起始时间(毫秒) [in] nTimeLineEnd : 在视频时间线上的结束时间(毫秒) [in] dFactor : 原始视频音轨和新添加的音乐的声音比例。比如原始声音30%,新配乐70%,则传0.7 |
返回 | 新配乐的handle |
接口 | [Delphi]: function
VideoPlayer_DeleteAudioBackgroundMedia(handle:integer;hAudioMedia:integer):Bool;
[VC]: BOOL VideoPlayer_DeleteAudioBackgroundMedia(HANDLE handle,HANDLE hAudioMedia); |
功能 | 删除配乐文件 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] hAudioMedia : VideoPlayer_AddAudioBackgroundMedia 返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_CleanAudioBackgroundMedia(handle:integer):Bool;
[VC]: BOOL VideoPlayer_CleanAudioBackgroundMedia(HANDLE handle); |
功能 | 清空配乐文件 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_AddAudioDubbingMedia(handle:integer;szAudioPath:PAnsiChar;nTimeLineStart,
nTimeLineEnd:int64;dFactor:Double): integer;
[VC]: HANDLE VideoPlayer_AddAudioDubbingMedia(HANDLE handle,const char* szAudioPath, INT64 nTimeLineStart,INT64 nTimeLineEnd,double dFactor); |
功能 | 添加配音文件,在VideoPlayer_Play之前调用来添加 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] szAudioPath : 配音文件路径 [in] nTimeLineStart : 在视频时间线上的起始时间(毫秒) [in] nTimeLineEnd : 在视频时间线上的结束时间(毫秒) [in] dFactor : 原始视频音轨和新添加的音乐的声音比例。比如原始声音30%,新配乐70%,则传0.7 |
返回 | 新配音的handle |
接口 | [Delphi]: function
VideoPlayer_DeleteAudioDubbingMedia(handle:integer;hAudioMedia:integer):Bool;
[VC]: BOOL VideoPlayer_DeleteAudioDubbingMedia(HANDLE handle,HANDLE hAudioMedia); |
功能 | 删除配音文件 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] hAudioMedia : VideoPlayer_AddAudioDubbingMedia 返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_CleanAudioDubbingMedia(handle:integer):Bool;
[VC]: BOOL VideoPlayer_CleanAudioDubbingMedia(HANDLE handle); |
功能 | 清空配音文件 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_Destory():BOOL;
[VC]: BOOL __stdcall VideoPlayer_Destory(); |
功能 | 释放VideoPlayer_Init初始化的播放器 |
参数 | 无 |
返回 | 成功与否 |
下面的接口是用于设置当前电脑中可用的录音设备,接口包含在AVCKernel.dll中。
接口 | [Delphi]: function wrcInitSetting(lpIniFile:Pansichar):Bool;
[VC]: BOOL WINAPI wrcInitSetting( LPCWSTR lpIniFile ); |
功能 | 初始化配置 INI 文件路径,用于保存配置 |
参数 | [in] lpIniFile : ini文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
wrcGetDevCount(lpStereoDevMixNum:PDword;lpMicphoneDevMix:PDword):Bool;
[VC]: BOOL wrcGetDevCount( LPINT lpStereoDevMixNum= NULL, LPINT lpMicphoneDevMix= NULL ); |
功能 | 获得音频设备数量 |
参数 | [in/out] lpStereoDevMixNum : 输出设备数量
[in/out] lpMicphoneDevMix : 输入设备数量 |
返回 | 是否获取成功 |
接口 | [Delphi]: function wrcGetOption():Integer;
[VC]: INT WINAPI wrcGetOption( VOID ); |
功能 | 取得当前的设置。-1=没有配置数据, 0=不录音, 1=只录制立体声混音, 2=只录制麦克风, 3=录制立体声和麦克风 |
参数 | 无 |
返回 | 当前的录音线路设置 |
接口 | [Delphi]: function wrcSetOption(iOption:Integer):Bool;
[VC]: BOOL WINAPI wrcSetOption( INT iOption ); |
功能 | 设置录音线路。如果之前没有配置数据,或设置的录音设备不存在,则重新检测设备。 |
参数 | [in] iOption : 录音线路。-1=清除线路设置, 0=不录音, 1=只录制立体声混音, 2=只录制麦克风, 3=录制立体声和麦克风 |
返回 | 是否设置成功 |
接口 | [Delphi]: function wrcSaveSetting():Bool;
[VC]: BOOL WINAPI wrcSaveSetting( VOID ); |
功能 | 保存设置 |
参数 | 无 |
返回 | 是否设置成功 |
接口 | [Delphi]: function
wrcShowOptionDlg(hParent:HWND;pColorLst:PDWORD;pButImg:PAnsiChar):Integer;
[VC]: INT wrcShowOptionDlg(HWND hParent,DWORD * pColorLst,char * pButImg); |
功能 | 显示一个单独界面,用于设置选择的线路的音量等。 |
参数 | [in] hParent : 父窗体
[in] pColorLst : 颜色值表 [in] pButImg : 按钮图片 |
返回 | 界面返回值 |
接口 | [Delphi]: function wcrDevIsChanged():Bool;
[VC]: BOOL WINAPI wcrDevIsChanged( VOID ); |
功能 | 获取设备是否有变动 |
参数 | 无 |
返回 | 是否变动 |
接口 | [Delphi]: function wrcUnInit():Bool;
[VC]: BOOL WINAPI wrcUnInit( VOID ); |
功能 | 反初始化 |
参数 | 无 |
返回 | 是否成功 |
下面的接口是用于录制音频,接口包含在RecordAudioImp.dll中。需要先使用上面的接口设置好录制的线路之后,再调用录制接口。
接口 | [Delphi]: function apiRecordAudioCreate():Integer;
[VC]: HANDLE apiRecordAudioCreate(); |
功能 | 初始化录音 |
参数 | 无 |
返回 | 返回handle |
接口 | [Delphi]: function
apiRecordAudioSetOutPath(handle:integer;szOutPath:PAnsiChar):Integer;
[VC]: int apiRecordAudioSetOutPath(HANDLE handle, const char* szOutPath); |
功能 | 设置录音文件保存路径 |
参数 | [in] handle : apiRecordAudioCreate()返回的handle
[in] szOutPath : 文件路径 |
返回 | 成功返回非0值 |
接口 | [Delphi]: function apiRecordAudioStart(handle:integer):Integer;
[VC]: int apiRecordAudioStart(HANDLE handle); |
功能 | 开始录制 |
参数 | [in] handle : apiRecordAudioCreate()返回的handle |
返回 | 成功返回非0值 |
接口 | [Delphi]: function apiRecordAudioStop(handle:integer):Integer;
[VC]: int apiRecordAudioStop(HANDLE handle); |
功能 | 停止录制 |
参数 | [in] handle : apiRecordAudioCreate()返回的handle |
返回 | 成功返回非0值 |
接口 | [Delphi]: function apiRecordAudioClose(handle:integer):Integer;
[VC]: int apiRecordAudioClose(HANDLE handle); |
功能 | 释放录制 |
参数 | [in] handle : apiRecordAudioCreate()返回的handle |
返回 | 成功返回非0值 |
以下所有接口包含在AVCKernel.dll中。
接口 | [Delphi]: function
AV_AddAudioBackgroundMedia(handle:integer;szPath:PAnsiChar;nTimeLine_Start,nTimeLine_End:int64;
dFactor:Double):BOOL;
[VC]: BOOL AV_AddAudioBackgroundMedia(HANDLE handle,const char* szPath,INT64 nTimeLine_Start, INT64 nTimeLine_End, double dFactor); |
功能 | 添加配乐 |
参数 | [in] handle : AV_Open()返回的handle
[in] szPath : 配乐的文件路径 [in] nTimeLine_Start : 在视频时间线上的起始时间(毫秒) [in] nTimeLine_End : 在视频时间线上的结束时间(毫秒) [in] dFactor : 原始视频音轨和新添加的音乐的声音比例。比如原始声音30%,新配乐70%,则传0.7 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_AddAudioDubbingMedia(handle:integer;szPath:PAnsiChar;nTimeLine_Start,nTimeLine_End:int64;
dFactor:Double):BOOL;
[VC]: BOOL AV_AddAudioDubbingMedia(HANDLE handle,const char* szPath,INT64 nTimeLine_Start, INT64 nTimeLine_End, double dFactor); |
功能 | 添加配音 |
参数 | [in] handle : AV_Open()返回的handle
[in] szPath : 配音的文件路径 [in] nTimeLine_Start : 在视频时间线上的起始时间(毫秒) [in] nTimeLine_End : 在视频时间线上的结束时间(毫秒) [in] dFactor : 原始视频音轨和新添加的音乐的声音比例。比如原始声音30%,新配音70%,则传0.7 |
返回 | 成功与否 |
接口 | [Delphi]: function AV_DisableOriginalMusic(handle:integer):BOOL;
[VC]: BOOL AV_DisableOriginalMusic(HANDLE handle); |
功能 | 去除原始视频中的音频 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
有视频开发经验或者无经验的,打算或者正在使用“锐动音视频转换SDK”的相关工程师。
该功能所有接口包含在AVPlayer.dll中。
接口 | [Delphi]: function
VideoPlayer_Init(hParentWnd:integer;rc:TRect):integer;
[VC]: BOOL VideoPlayer_Init(HWND hParentWnd,RECT rc); |
功能 | 初始化视频播放器 |
参数 | [in] hParentWnd : 视频播放时显示在的窗体handle
[in] rc : 在窗体上面的播放位置和大小 |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_OpenFile(szFileName:PAnsiChar):integer;
[VC]: HANDLE VideoPlayer_OpenFile(char* szFileName); |
功能 | 打开要播放的文件 |
参数 | [in] szFileName : 文件路径 |
返回 | 成功打开后返回非0的handle |
接口 | [Delphi]: function VideoPlayer_GetTotalTime(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetTotalTime(HANDLE handle); |
功能 | 获取视频的总的时间程度(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 视频总时间(秒) |
接口 | [Delphi]: function
VideoPlayer_GetTotalTime_InMillisecond(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetTotalTime_InMillisecond(HANDLE handle); |
功能 | 获取视频的总的时间程度(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 视频总时间(毫秒) |
接口 | [Delphi]: function VideoPlayer_GetCurrentTime(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetCurrentTime(HANDLE handle); |
功能 | 获取当前播放到的时间点(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 当前播放到时间点(秒) |
接口 | [Delphi]: function
VideoPlayer_GetCurrentTime_InMillisecond(handle:integer):int64;
[VC]: UINT64 VideoPlayer_GetCurrentTime_InMillisecond(HANDLE handle); |
功能 | 获取当前播放到的时间点(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 当前播放到时间点(毫秒) |
接口 | [Delphi]: function
VideoPlayer_Play(handle:integer;iStart:int64;iEnd:int64;bSeekInByte:BOOL;bConvertRatio:BOOL
):BOOL;
[VC]: BOOL VideoPlayer_Play(HANDLE handle,UINT64 iStart,UINT64 iEnd,BOOL bSeekInByte,BOOL bConvertRatio); |
功能 | 播放视频(秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] iStart : 起始时间(秒) [in] iEnd : 结束时间(秒),如果为0,则播放到视频结尾 [in] bSeekInByte : 使用False [in] bConvertRatio : 是否缩放比例播放 |
返回 | 播放成功与否 |
接口 | [Delphi]: function
VideoPlayer_Play_InMillisecond(handle:integer;iStart:int64;iEnd:int64;bSeekInByte:BOOL;
bConvertRatio:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Play_InMillisecond(HANDLE handle,UINT64 iStart,UINT64 iEnd,BOOL bSeekInByte,BOOL bConvertRatio); |
功能 | 播放视频(毫秒) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] iStart : 起始时间(毫秒) [in] iEnd : 结束时间(毫秒),如果为0,则播放到视频结尾 [in] bSeekInByte : 使用False [in] bConvertRatio : 是否缩放比例播放 |
返回 | 播放成功与否 |
接口 | [Delphi]: Function VideoPlayer_Pause(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Pause(HANDLE handle); |
功能 | 暂停播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_Continue(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Continue(HANDLE handle); |
功能 | 暂停后继续播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_Stop(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_Stop(HANDLE handle); |
功能 | 停止播放 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_Seek(handle:integer;Pos:int64;bSeekInByte:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Seek(HANDLE handle, UINT64 Pos,BOOL bSeekInByte); |
功能 | 指定时间点进行播放(拖拽播放功能)。必须在VideoPlayer_Play之后使用 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 要播放的时间点(秒) [in] bSeekInByte : 使用False |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_Seek_InMillisecond(handle:integer;Pos:int64;bSeekInByte:BOOL):BOOL;
[VC]: BOOL VideoPlayer_Seek_InMillisecond(HANDLE handle, UINT64 Pos,BOOL bSeekInByte); |
功能 | 指定时间点进行播放(拖拽播放功能)。必须在VideoPlayer_Play之后使用 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 要播放的时间点(毫秒) [in] bSeekInByte : 使用False |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_BrowerFileFrame(handle:integer;Pos:int64;bConvertRatio:BOOL;bSavetofile:BOOL;
szfilename:PAnsiChar):BOOL;
[VC]: BOOL VideoPlayer_BrowerFileFrame(HANDLE handle,INT64 Pos,BOOL bConvertRatio,BOOL bSaveToFile,char* szFileName); |
功能 | 在非播放状态下获取指定时间点的帧画面 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 时间点(秒) [in] bConvertRatio : 是否按比例缩放 [in] bSavetoFile : 是否保存到文件(如果是true,将帧画面保存成文件,false则将帧画面显示到播放窗体上) [in] szfilename : 当bsavetofile为true,将帧画面保存到该路径中 |
返回 | 成功与否 |
接口 | [Delphi]: function
VideoPlayer_BrowerFileFrame_InMillisecond(handle:integer;Pos:int64;bConvertRatio:BOOL;
bSavetofile:BOOL;szfilename:PAnsiChar):BOOL;
[VC]: BOOL VideoPlayer_BrowerFileFrame_InMillisecond(HANDLE handle,INT64 Pos,BOOL bConvertRatio,BOOL bSaveToFile,char* szFileName); |
功能 | 在非播放状态下获取指定时间点的帧画面 |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle
[in] Pos : 时间点(毫秒) [in] bConvertRatio : 是否按比例缩放 [in] bSavetoFile : 是否保存到文件(如果是true,将帧画面保存成文件,false则将帧画面显示到播放窗体上) [in] szfilename : 当bsavetofile为true,将帧画面保存到该路径中 |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_CloseFile(handle:integer):BOOL;
[VC]: BOOL VideoPlayer_CloseFile(HANDLE handle); |
功能 | 关闭一个打开的视频文件(打开一个文件之前,必须先调用该函数关闭之前打开的视频文件) |
参数 | [in] handle : VideoPlayer_OpenFile成功后返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function VideoPlayer_QueryState():integer;
[VC]: int VideoPlayer_QueryState(); |
功能 | 查询播放的状态 |
参数 | 无 |
返回 | 状态值
PLAYER_STATE_PLAY = 5; PLAYER_STATE_PAUSE = 7; PLAYER_STATE_STOP = 8; |
接口 | [Delphi]: procedure VideoPlayer_Resize(rc:TRect);
[VC]: void VideoPlayer_Resize(RECT rc); |
功能 | 重新设置播放的区域大小 |
参数 | [in] rc : 区域大小 |
返回 | 无 |
接口 | [Delphi]: function VideoPlayer_Destory():BOOL;
[VC]: BOOL __stdcall VideoPlayer_Destory(); |
功能 | 释放VideoPlayer_Init初始化的播放器 |
参数 | 无 |
返回 | 成功与否 |
该功能所有接口包含在AVCKernel.dll中。
普通格式的视频转换接口(不包含转换成RMVB)。
Delphi | VC | |
---|---|---|
视频的头结构信息 | TAV_HeadAttr=packed record
Title:array[0..511] of AnsiChar; Author:array[0..511] of AnsiChar; Copyringht:array[0..511] of AnsiChar; Comment:array[0..511] of AnsiChar; Album:array[0..511] of AnsiChar; Genre:array[0..31] of AnsiChar; Duration:int64;//视频时间长度 Bitrate:integer;//视频码率(微秒) end;PAV_HeadAttr=^TAV_HeadAttr; |
typedef struct tag_AV_HEADER_ATTR {
char title[512]; char author[512]; char copyright[512]; char comment[512]; char album[512]; char genre[32]; INT64 duration; int bitrate; }AV_HEADER_ATTR,*PAV_HEADER_ATTR; |
视频的音频结构信息。用于获取音频信息,或者转换的时候设置信息 | TAudio_Attr=packed record
Acodec:array[0..63] of AnsiChar;//音频编码器 Acodectag:array[0..63] of AnsiChar; Channels:integer;//声道数量 Samples:integer;//采样率 Bitrate:integer;//码率 end;PAudio_Attr=^TAudio_Attr; |
typedef struct tag_AV_AUDIO_ATTR {
char acodec[64]; char acodecTag[64]; int channels; int samples; int bitrate; }AV_AUDIO_ATTR,*PAV_AUDIO_ATTR; |
音频附加属性,用于转换的时候设置 | TAudio_AttrEx=packed record
Disable:BOOL;//是否禁用 volume:integer;//音量 end;PAudio_AttrEx=^TAudio_AttrEx; |
typedef struct tag_AV_AUDIO_ATTR_EX {
BOOL disable; int volume; //声音增量-[20 ~ 500](100为源音量) }AV_AUDIO_ATTR_EX,*PAV_AUDIO_ATTR_EX; |
视频的视频结构信息。用于获取视频信息,或者转换的时候设置信息 | TVideo_Attr=packed record
Vcodec:array[0..63] of AnsiChar;//编码器 Vcodectag:array[0..63] of AnsiChar; Width:integer;//视频宽度 Height:integer;//视频高度 Bitrate:integer;//视频码率 Framerate:double;//帧率 Aspect:double;//宽高比 Aspectwidth:integer; Aspectheight:integer; end;PVideo_attr=^TVideo_Attr; |
typedef struct tag_AV_VIDEO_ATTR {
char vcodec[64]; char vcodecTag[64]; int width; int height; int bitrate; double framerate; double aspect; int aspectWidth; int aspectHeight; }AV_VIDEO_ATTR,*PAV_VIDEO_ATTR; |
视频附加属性,用于转换的时候设置 | TAV_FrameSize_Attr=packed record
Top:integer; Bottom:integer; Left:integer; Right:integer; end;PAV_FrameSize_Attr=^TAV_FrameSize_Attr; TVideo_AttrEx=packed record Disable:BOOL; Qcale:integer; Qmin:integer; Qmax:integer; maxrate:integer; qtlevel:integer; cutsize:TAV_FrameSize_Attr; padsize:TAV_FrameSize_Attr; end;PVideo_AttrEx=^TVideo_AttrEx; |
typedef struct tag_AV_FRAME_SIZE_ATTR {
int top; int bottom; int left; int right; }AV_FRAME_SIZE_ATTR,*PAV_FRAME_SIZE_ATTR;typedef struct tag_AV_VIDEO_ATTR_EX { BOOL disable; int qcale; int qMin; int qMax; int maxrate; int qtLevel; AV_FRAME_SIZE_ATTR cutSize; AV_FRAME_SIZE_ATTR padSize; }AV_VIDEO_ATTR_EX,*PAV_VIDEO_ATTR_EX; |
接口 | [Delphi]: function AV_Open():integer;
[VC]: HANDLE AV_Open(); |
功能 | 初始化转换 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function
AV_SetInputpath(handle:integer;szInputpaht:PAnsiChar):BOOL;
[VC]: BOOL AV_SetInputpath(HANDLE handle,const char *szInputPath); |
功能 | 设置需要转换的源文件,或者是需要获取信息的源文件 |
参数 | [in] handle : AV_Open()返回的handle
[in] szInputpaht : 源文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_GetInputFileAttr(handle:integer;pAVHeadAttr:PAV_HeadAttr;pAVAudioAttr:Paudio_attr;
pAVVideoAttr:PVideo_attr):BOOL;
[VC]: BOOL AV_GetInputFileAttr(HANDLE handle,AV_HEADER_ATTR *pAVHeadAttr,AV_AUDIO_ATTR *pAVAudioAttr,AV_VIDEO_ATTR *pAVVideoAttr); |
功能 | 获取AV_SetInputpath添加的源文件的视频信息 |
参数 | [in] handle : AV_Open()返回的handle
[in/out] pAVHeadAttr : 头结构信息 [in/out] pAVAudioAttr : 音频结构信息 [in/out] pAVVideoAttr : 视频结构信息 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetOutputFormatEx(handle:integer;enumAVType:integer):BOOL;
[VC]: BOOL AV_SetOutputFormatEx(HANDLE handle,AVVideoType enumAVType); |
功能 | 设置输出目标格式的序号 |
参数 | [in] handle : AV_Open()返回的handle
[in] enumAVType : 目标格式的序号,在格式配置文件中读取 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAudioAttrEx(handle:integer;AudioAttrEx:TAudio_AttrEx):BOOL;
[VC]: BOOL AV_SetAudioAttrEx(HANDLE handle,AV_AUDIO_ATTR_EX AudioAttrEx); |
功能 | 设置转换目标的音频附加属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 附加的音频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAudioAttr(Handle:integer;Audioattr:TAudio_Attr):BOOL;
[VC]: BOOL AV_SetAudioAttr(HANDLE handle,AV_AUDIO_ATTR audioAttr); |
功能 | 设置转换目标的音频属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 音频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetVideoAttrEx(handle:integer;VideoAttrEx:TVideo_AttrEx):BOOL;
[VC]: BOOL AV_SetVideoAttrEx(HANDLE handle,AV_VIDEO_ATTR_EX videoAttrEx); |
功能 | 设置转换目标的视频附加属性(目前主要用于设置是否包含视频流) |
参数 | [in] handle : AV_Open()返回的handle
[in] AudioAttrEx : 视频附加属性 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetVideoAttr(handle:integer;VideoAttr:TVideo_Attr):BOOL;
[VC]: BOOL AV_SetVideoAttr(HANDLE handle,AV_VIDEO_ATTR VideoAttr); |
功能 | 设置转换目标的视频属性 |
参数 | [in] handle : AV_Open()返回的handle
[in] VideoAttr : 视频信息结构 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetOutputPath(handle:integer;szOutputPath:PAnsiChar):BOOL;
[VC]: BOOL AV_SetOutputPath(HANDLE handle,const char *szOutputPath); |
功能 | 设置输出文件的保存路径 |
参数 | [in] handle : AV_Open()返回的handle
[in] szOutputPath : 输出文件的保存路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AV_SetAChannel(handle:integer;channel:integer):BOOL;
[VC]: BOOL AV_SetAChannel(HANDLE handle,int channel); |
功能 | 设置转换目标的声道 |
参数 | [in] handle : AV_Open()返回的handle
[in] channel : 0:左 1:右 2:默认 |
返回 | 成功与否 |
接口 | [Delphi]: procedure AV_SetAutoPadStatus(handle:integer;status:BOOL);
[VC]: void AV_SetAutoPadStatus(HANDLE handle,BOOL status); |
功能 | 设置是否自动添加黑边 |
参数 | [in] handle : AV_Open()返回的handle
[in] status : True为自动添加黑边 |
返回 | 无 |
接口 | [Delphi]: procedure
AV_SetAutoSubtitleSRT(handle:integer;status:BOOL);
[VC]: void AV_SetAutoSubtitleSRT(HANDLE handle,BOOL status); |
功能 | 设置是否自动查找添加字幕(字幕查找规则:和视频在同一个目录下,并且文件名一样) |
参数 | [in] handle : AV_Open()返回的handle
[in] status : 是否自动添加, True为自动添加 |
返回 | 无 |
接口 | [Delphi]: function
AV_SetPreviewHwnd(handle:integer;hwnd:integer):BOOL;
[VC]: BOOL AV_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置转换时当前转换到的时间点的画面绘制到的窗体 |
参数 | [in] handle : AV_Open()返回的handle
[in] hwnd : 画面显示的目标窗体handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_EnablePreview(hwnd:integer;bEnable:Bool):BOOL;
[VC]: BOOL AV_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 设置转换时是否预览转换的画面 |
参数 | [in] handle : AV_Open()返回的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
接口 | [Delphi]: function AV_GetLastError(handle:integer):DWORD;
[VC]: DWORD AV_GetLastError(HANDLE handle); |
功能 | 获取错误码 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 错误码 |
接口 | [Delphi]: function AV_Convert(handle:integer):BOOL;
[VC]: BOOL AV_Convert(HANDLE handle); |
功能 | 开始转换 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_Stop(handle:integer):BOOL;
[VC]: BOOL AV_Stop(HANDLE handle); |
功能 | 停止转换 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AV_GetProgress(handle:integer):DWORD;
[VC]: DWORD AV_GetProgress(HANDLE handle); |
功能 | 获取转换进度 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 进度 0~100 |
接口 | [Delphi]: function AV_Close(handle:integer):BOOL;
[VC]: BOOL AV_Close(HANDLE handle); |
功能 | 释放转换。如果已经AV_Convert,需要先AV_Stop之后才可以调用 |
参数 | [in] handle : AV_Open()返回的handle |
返回 | 成功与否 |
转换成RMVB格式的接口:
接口 | [Delphi]: function AVC_RMVB_Open():integer;
[VC]: HANDLE _stdcall AVC_RMVB_Open(); |
功能 | RMVB转换初始化 |
参数 | 无 |
返回 | 成功返回handle |
接口 | [Delphi]: function AVC_RMVB_Close(handle:integer):BOOL;stdcall;
[VC]: BOOL EXPORT_FLAG AVC_RMVB_Close(HANDLE handle); |
功能 | 释放合并接口 |
参数 | [in] handle : AVC_RMVB_Open()返回的handle |
返回 | 是否成功 |
接口 | [Delphi]: function
AVC_RMVB_SetDestPath(handle:integer;szDestPath:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetDestPath(HANDLE handle, const AnsiChar* szDestPath); |
功能 | 设置输出路径 |
参数 | [in] handle : Open的handle
[in] szDestPath : 路径 |
返回 | 是否成功 |
接口 | [Delphi]: function
AVC_RMVB_SetAudiences(handle:integer;szAudioences:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetAudiences(HANDLE handle,const AnsiChar* szAudiences); |
功能 | 设置目标的压缩方式 |
参数 | [in] handle : Open的handle
[in] szAudioences : 压缩方式 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetPictureQt(handle:integer;szPictureQt:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetPictureQt(HANDLE handle,const AnsiChar* szPictureQt); |
功能 | 设置目标的画面质量 |
参数 | [in] handle : Open的handle
[in] szPictureQt : 质量 [normal smooth sharp] |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_Convert(handle:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_Convert(HANDLE handle); |
功能 | 开始RMVB转换 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_Stop(handle:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_Stop(HANDLE handle); |
功能 | 停止RMVB转换 |
参数 | [in] handle : Open的handle |
返回 | 成功与否 |
接口 | [Delphi]: function AVC_RMVB_GetProgress(handle:integer):DWORD;
[VC]: BOOL _stdcall AVC_RMVB_GetProgress(HANDLE handle); |
功能 | 获取RMVB转换进度 |
参数 | [in] handle : Open的handle |
返回 | 进度[0-100] |
接口 | [Delphi]: function AVC_RMVB_GetLastError(handle:integer):DWORD;
[VC]: DWORD _stdcall AVC_RMVB_GetLastError(HANDLE handle); |
功能 | 获取RMVB错误码 |
参数 | [in] handle : Open的handle |
返回 | 错误码 |
接口 | [Delphi]: function
AVC_RMVB_SetInputPath(handle:integer;szInputPath:PAnsiChar):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetInputPath(HANDLE handle, const AnsiChar* szInputPath); |
功能 | 设置要转换的源文件 |
参数 | [in] handle : Open的handle
[in] szInputPath : 源文件路径 |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_SetFrameSize(handle:integer;nWidth:integer;nHeight:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetFrameSize(HANDLE handle, int width,int height); |
功能 | 设置目标的画面大小 |
参数 | [in] handle : Open的handle
[in] nWidth : 宽 [in] nHeight : 高 |
返回 | 成功与否 |
接口 | [Delphi]: procedure
AVC_RMVB_SetAutoSubtitleSRT(handle:integer;bStatus:Bool);
[VC]: void _stdcall AVC_RMVB_SetAutoSubtitleSRT(HANDLE handle,BOOL status); |
功能 | 设置是否自动查找同文件夹下面同名的字幕 |
参数 | [in] handle : Open的handle
[in] bStatus : 是否自动查找添加同名的字幕 |
返回 | 无 |
接口 | [Delphi]: procedure
AVC_RMVB_SetAutoPadStatus(handle:integer;bStatus:Bool);
[VC]: void _stdcall AVC_RMVB_SetAutoPadStatus(HANDLE handle,BOOL status); |
功能 | 设置是否自动添加黑边 |
参数 | [in] handle : Open的handle
[in] bStatus : 是否黑边 |
返回 | 无 |
接口 | [Delphi]: function
AVC_RMVB_SetPreviewHwnd(handle:integer;hPreview:integer):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_SetPreviewHwnd(HANDLE handle,HWND hwnd); |
功能 | 设置转换时,当前转换到的时间点的预览画面 |
参数 | [in] handle : Open的handle
[in] hwnd : 画面显示的目标窗体handle |
返回 | 成功与否 |
接口 | [Delphi]: function
AVC_RMVB_EnablePreview(handle:integer;bEnable:Bool):BOOL;
[VC]: BOOL _stdcall AVC_RMVB_EnablePreview(HANDLE handle,BOOL bEnable); |
功能 | 转换时候预览画面的开关函数 |
参数 | [in] handle : Open的handle
[in] bEnable : 是否显示预览画面 |
返回 | 成功与否 |
本SDK的基本功能是录制屏幕,可以捕获使用 DirectX 及 OpenGL 任何版本进行渲染的屏幕输出画面,并编码为 h.264 视频流,保存为 flv 文件或使用 rtmp 协议上传到服务器。
操作系统:windows XP SP3
CPU:奔腾G860/i3-2310M
内存:2G(其中需要500M空闲可用)
硬盘:5G空闲空间(保存视频文件)
显卡:DX9兼容显卡
声卡:AC97兼容声卡
推荐:操作系统:windows 7/8/10
CPU:I7-4770/I7-4800MQ
内存:8G(其中1500M空闲可用)
硬盘:5G空闲空间(保存视频文件)
显卡:Nvidia GTX 960 /980M、AMD R9/ 8970M
声卡:AC97兼容声卡
所有(收费/免费)SDK接口函数的目录,相应的功能列表如下:
录像控制 | 录像控制的相关函数,可实现录制功能和初始化 |
游戏录制 | 对录制游戏的相关操作和界面交互的函数,可实现录制游戏时游戏界面的绘制和交互,获取相关游戏的ID、名字等信息,画面截图和桌面截图的功能。 |
摄像头 | 摄像头的相关操作和显示摄像头画面的相关操作的函数,可实现摄像头的开关,摄像头画面的显示和摄像头画面的移动等相关功能。 |
快捷键 | 快捷键设置所需的函数,可实现快捷键的建立。 |
视频编码 | 视频编码效果的设置和相关操作,可实现设置视频编码相关数据的设置与修改,从而改变视频的相关属性。 |
录音 | 音频的输入和输出设备的设置和操作的函数,可实现录制输出的音频的录制和输入音频的录制,改变输入输出音量的大小和相关的音频编码的属性设置。 |
该目录下为录像控制的相关函数,其函数列表如下:
REC_StatLive | 开始直播 |
REC_Init | 初始化游戏录制 |
REC_Uninit | 反初始化游戏录制 |
REC_DefaultDir | 取得指定类型的默认文件夹 |
REC_GetStatus | 取得取得当前的录制状态的详细信息 |
REC_Start | 开始录制 |
REC_Stop | 停止录制 |
函数 | REC_Init |
功能 | 初始化游戏录制 |
语法 | BOOL WINAPI REC_Init(
UNISTR szOrganizationName, UNISTR szApplicationName, OnRecorderStatusCB pfnCbRecorderStatus, LPVOID pCbParam ); |
参数 |
szOrganizationName 公司/组织名称。指向 Unicode 字符串的指针,可以为 NULL。eg: 17rd.
szApplicationName 应用程序名称。指向 Unicode 字符串的指针,可以为 NULL。eg: 游戏录制工具. pfnCbRecorderStatus录制状态改变时调用的回调函数的地址。可以为 NULL。 pCbParam 调用回调函数 pfnCbRecorderStatus 时的回传参数(初始化时传入此参数,在调用回调时原样传出)。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 在调用其它的接口前,必须首先调用此接口。
“公司/组织名称、应用程序名称”用于构造保存配置文件的路径。 |
函数 | REC_Uninit |
功能 | 反初始化游戏录制 |
语法 | VOID WINAPI REC_Uninit(); |
参数 | 无 |
返回值 | 无 |
备注 | 在调用 REC_Init 之后,不再需要录制游戏(或者退出程序之前),应该调用 REC_Uninit。 |
函数 | REC_DefaultDir |
功能 | 取得指定类型的默认文件夹 |
语法 | UNISTR WINAPI REC_DefaultDir(
ERecDefaultDirs eDir ); |
参数 | eDir ERecDefaultDirs 枚举值。 |
返回值 | 如果成功,返回路径字符串,指向 Unicode 字符串的指针,以\0为结束符。
eg: C:\Users\cosso\Videos\ 路径字符串最后一个字符是 '\'。 |
备注 | 无 |
函数 | REC_GetStatus |
功能 | 取得当前的录制状态的详细信息 |
语法 | const SRecStaInfo& WINAPI REC_GetStatus(); |
参数 | 无 |
返回值 | SRecStaInfo SRecStaInfo 结构的只读引用。 |
备注 | 无 |
函数 | REC_Start |
功能 | 开始录制 |
语法 | BOOL WINAPI REC_Start(); |
参数 | 无 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 使用 RV_SetSaveFile 设置的路径等参数,把录制的视频保存为文件。 |
函数 | REC_StartLive |
功能 | 开始直播 |
语法 | BOOL WINAPI REC_StartLive(
BOOL bSaveLocal ); |
参数 | bSaveLocal 直播时是否在本地保存备份(使用 RV_SetSaveFile 设置的路径等参数) |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 直播时,使用 RV_SetLiveUrl 设置的 URL 上传视频流(含音频流)
如果仅保存文件,应该使用 REC_Start。 直播接口仅直播 SDK 可用,录制 SDK 不能使用这个接口(返回 FALSE) |
函数 | REC_Stop |
功能 | 停止录制 |
语法 | VOID WINAPI REC_Stop(); |
参数 | 无 |
返回值 | 无 |
备注 | 如果开始时是调用的 REC_Start,而后想调用 REC_StartLive 直播,那么必须先停止。 |
该目录下为对录制游戏的相关操作和界面交互的函数,其函数列表如下:
GA_GameCount | 取得当前运行的游戏数量 |
GA_GameInfoBylnd | 通过索引号取得当前运行的游戏信息 |
GA_GameInfoByPid | 通过进程ID取得当前运行的游戏信息 |
GA_SelectGame | 设置要录制的游戏 |
GA_GetSelectedGame | 取得当前选择的游戏的进程 ID |
GA_SelectDesktop | 设置要录制的桌面/窗口区域 |
GA_Screenshot | 对指定的游戏进程或桌面区域进行截图操作(仅供收费版本使用) |
GA_ScreenshotOnce | 对指定的游戏进程或桌面区域进行截图操作 |
GA_SetInlineUI | 对设置在游戏绘制图像时,提供内容的 DLL 路径,以及其对应的在主程序中执行的 DLL 等(仅供收费版本使用) |
GA_SendToInlineUI | 在主程序中加载的 DLL 向游戏进程加载的绘图内容提供 DLL 发出消息/数据(仅供收费版本使用) |
GA_SetCursorCapture | 开/关鼠标指针图像捕获 |
函数 | GA_GameCount |
功能 | 取得当前运行的游戏数量 |
语法 | UINT WINAPI GA_GameCount(); |
参数 | 无 |
返回值 | UINT 游戏数量 |
备注 | 无 |
函数 | GA_GameInfoByInd |
功能 | 通过索引号取得当前运行的游戏信息 |
语法 | const SGameInfo WINAPI GA_GameInfoByInd(
UINT iIndex ); |
参数 | iIndex 索引号,值为 0 至 REC_GameCount() 的返回值-1 |
返回值 | SGameInfo 游戏信息的结构。如果失败,结构值全为0。 |
备注 | 无 |
函数 | GA_GameInfoByPid |
功能 | 通过进程ID取得当前运行的游戏信息 |
语法 | const SGameInfo WINAPI GA_GameInfoByPid(
DWORD dwPID ); |
参数 | dwPID 进程 ID |
返回值 | SGameInfo 游戏信息的结构。如果失败,结构值全为0。 |
备注 | 无 |
函数 | GA_SelectGame |
功能 | 设置要录制的游戏 |
语法 | BOOL WINAPI GA_SelectGame(
DWORD dwPID ); |
参数 | dwPID 进程 ID |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | GA_GetSelectedGame |
功能 | 取得当前选择的游戏的进程 ID |
语法 | DWORD WINAPI GA_GetSelectedGame(); |
参数 | 无 |
返回值 | DWORD 游戏进程 ID。如果失败,返回值为0。非 0 表示成功。如果返回值为 0xFFFFFFFF,则当前是选择的屏幕区域或窗口。 |
备注 | 无 |
函数 | GA_SelectDesktop |
功能 | 设置要录制的桌面/窗口区域 |
语法 | BOOL WINAPI GA_SelectDesktop(
HWND hWnd, BOOL bIsClientArea, PRECT pRect ); |
参数 |
hWnd 窗口句柄。0 表示桌面,0xFFFFFFFF 则使用内置的桌面区域选择界面进行选择。
bIsClientArea 是否是窗口的客户区。如果是桌面,则排除任务栏。如果是窗口则排除标题栏和边框。 pRect 要录制的区域,相对于桌面或窗口的坐标,如果仅客户区,则以客户区左上角为原点(0,0)。如果值为 NULL,则录制整个桌面或窗口。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | GA_Screenshot |
功能 | 对指定的游戏进程或桌面区域进行截图操作(仅供收费版本使用) |
语法 | BOOL WINAPI GA_Screenshot(
DWORD dwPID, BOOL bIsTimeLimit, DWORD dwLimitValue, DWORD dwIntervalTime, PRECT pRect, EGameShotFileFormat eFileFormat, UNISTR szFilePath ); |
参数 |
dwPID 游戏进程 ID。0 表示桌面,0xFFFFFFFF 则使用内置的桌面区域选择界面进行选择。
bIsTimeLimit TRUE: 限制截图的时间长度。FALSE: 限制截图的帧数。 dwLimitValue 如果 bIsTimeLimit 为 TRUE,此参数为连续截图的毫秒数;否则,是连续截图的帧数。 dwIntervalTime 连续截图时,每帧的间隔时间,单位为毫秒数。 pRect 要截取的图像区域,如果为 NULL 则截取整个画面。 eFileFormat 截图要保存为的图像格式。 szFilePath 截图要保存为的文件路径。如果 eFileFormat 为 eFileGIF,那么将把连续截图保存到一个文件;否则,将会在文件名称后加上序号进行保存。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | GA_ScreenshotOnce |
功能 | 对指定的游戏进程或桌面区域进行截图操作 |
语法 | BOOL WINAPI GA_Screenshot(
DWORD dwPID, EGameShotFileFormat eFileFormat, UNISTR szFilePath ); |
参数 |
dwPID 游戏进程 ID。0 表示桌面,0xFFFFFFFF 则使用内置的桌面区域选择界面进行选择。
eFileFormat 截图要保存为的图像格式。 szFilePath 截图要保存为的文件路径。如果 eFileFormat 为 eFileGIF,那么将把连续截图保存到一个文件;否则,将会在文件名称后加上序号进行保存。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | GA_SetInlineUI |
功能 | 对设置在游戏绘制图像时,提供内容的 DLL 路径,以及其对应的在主程序中执行的 DLL 等(仅供收费版本使用) |
语法 | BOOL WINAPI GA_SetInlineUI(
UNISTR szDllAsMain, UNISTR szDllAsHost ); |
参数 |
szDllAsMain 在主程序进程中加载的 DLL。
szDllAsHost 在游戏进程中加载的 DLL。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | szDllAsMain 必须导出 OnInlineUIData 函数,函数声明见:OnInlineUIDataCB
szDllAsHost 必须导出的函数请看 InlineUI.h 中的说明。 |
函数 | GA_SendToInlineUI |
功能 | 在主程序中加载的 DLL 向游戏进程加载的绘图内容提供 DLL 发出消息/数据(仅供收费版本使用) |
语法 | BOOL WINAPI GA_SendToInlineUI(
DWORD dwPID, WORD wProtocol, LPBYTE pBuffer, int iSize ); |
参数 |
dwPID 游戏程序进程 ID
wProtocol 自定义协议 pBuffer 数据指针 iSize 数据长度 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | GA_SetCursorCapture |
功能 | 开/关鼠标指针图像捕获 |
语法 | VOID WINAPI GA_SetCursorCapture(
BOOL bEnable ); |
参数 | bEnable TRUE=开启,FALSE= 关闭 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
该目录下为对摄像头的相关操作和显示摄像头画面的相关操作的函数,其函数列表如下:
CA_GetIdentity | 取得摄像头ID字符串(仅供收费版本使用) |
CA_CameraCount | 取得摄像头数量(仅供收费版本使用) |
CA_GetFriedlyName | 取得摄像头名称(仅供收费版本使用) |
CA_CloseCamera | 关闭摄像头(仅供收费版本使用) |
CA_SetCameraOverlay | 设置摄像头覆盖在录制的游戏画面上的坐标(仅供收费版本使用) |
CA_OpenCamera | 对指定的游戏进程或桌面区域进行截图操作(仅供收费版本使用) |
函数 | CA_GetIdentity |
功能 | 取得摄像头ID字符串(仅供收费版本使用) |
语法 | UNISTR WINAPI CA_GetIdentity(
UINT iIndex ); |
参数 | iIndex 从 0 开始到小于 CA_CameraCount() 的索引号 |
返回值 | UNISTR 摄像头ID字符串 |
备注 | 无 |
函数 | CA_CameraCount |
功能 | 取得摄像头数量(仅供收费版本使用) |
语法 | UINT WINAPI CA_CameraCount(); |
参数 | 无 |
返回值 | UINT 摄像头数量 |
备注 | 无 |
函数 | CA_GetFriendlyName |
功能 | 取得摄像头名称(仅供收费版本使用) |
语法 | UNISTR WINAPI CA_GetFriendlyName(
UINT iIndex ); |
参数 | iIndex 从 0 开始到小于 CA_CameraCount() 的索引号 |
返回值 | UNISTR 摄像头名称 |
备注 | 无 |
函数 | CA_CloseCamera |
功能 | 关闭摄像头(仅供收费版本使用) |
语法 | VOID WINAPI CA_CloseCamera(
HANDLE hCamera ); |
参数 | hCamera CA_OpenCamera()的返回值 |
返回值 | 无 |
备注 | 无 |
函数 | CA_SetCameraOverlay |
功能 | 设置摄像头覆盖在录制的游戏画面上的坐标(仅供收费版本使用) |
语法 | VOID WINAPI CA_SetCameraOverlay(
HANDLE hCamera, INT iX, INT iY ); |
参数 |
hCamera CA_OpenCamera()的返回值。如果为NULL,则禁止摄像头覆盖。
iX 叠加在录制的游戏画面上时,Y坐标。 iY 叠加在录制的游戏画面上时,Y坐标。 |
返回值 | 无 |
备注 | 无 |
函数 | CA_OpenCamera |
功能 | 对指定的游戏进程或桌面区域进行截图操作(仅供收费版本使用) |
语法 | HANDLE WINAPI CA_OpenCamera(
UNISTR szIdentity, UINT iWidth, UINT iHeight, OnCameraBufferCB cbFunction, LPVOID pCbParam ); |
参数 |
szIdentity 摄像头ID,通过CA_GetIdentity()取得
iWidth 需要的画面宽度,像素 iHeight 需要的画面高度,像素 cbFunction 回调函数。可以设置为 NULL。 pCbParam 回调函数的回传参数 |
返回值 | HANDLE 成功返回非0值,失败返回0 |
备注 | 无 |
该目录下为快捷键设置所需的函数,其函数列表如下:
SK_SetShortcutKey | 设置快捷键 |
SK_RemoveShortcutKey | 删除快捷键 |
SK_SetShortcutKeyCb | 设置快捷键回调函数 |
函数 | SK_SetShortcutKey |
功能 | 设置快捷键 |
语法 | BOOL WINAPI SK_SetShortcutKey(
UNISTR szKeyName, LPBYTE pKeys, INT iKeyCount ); |
参数 |
szKeyName 快捷键名称
pKeys 快捷键的虚拟键值列表。eg: pKeys[0]=VK_CONTROL; pKeys[1]='A'; 表示 Ctrl + A iKeyCount 快捷键虚拟键值列表中的键数量 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | SK_RemoveShortcutKey |
功能 | 删除快捷键 |
语法 | BOOL WINAPI SK_RemoveShortcutKey(
UNISTR szKeyName ); |
参数 | szKeyName 快捷键名称 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | SK_SetShortcutKeyCb |
功能 | 设置快捷键回调函数 |
语法 | BOOL WINAPI SK_SetShortcutKeyCb(
OnShortcutKeyCB pfnCb, LPVOID pCbParam ); |
参数 |
pfnCb 回调函数地址
pCbParam 回调函数的回传参数 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
该目录下为视频编码效果的设置和相关操作,其函数列表如下:
RV_SetLiveUrl | 设置编码后的视频流上传到视频服务器 |
RV_EncoderIsUsable | 检查视频编码器是否可用(仅供收费版本使用) |
RV_SelectEncoder | 选择要使用的视频编码器(仅供收费版本使用) |
RV_GetSelectedEncoder | 取得当前选择的视频编码器(仅供收费版本使用) |
RV_SetProfile | 限制输出文件的 profile(仅供收费版本使用) |
RV_GetProfile | 取得为指定的视频编码器设置的 profile(仅供收费版本使用) |
RV_SetPreset | 设置压缩效率和运算时间的预设值 |
RV_GetPreset | 取得为指定的视频编码器设置的 preset |
RV_SetBitrate | 设置视频编码的码率控制 |
RV_GetBitrate | 取得码率控制的设置 |
RV_SetFrameParams | 设置视频编码的帧选项 |
RV_GetFrameParams | 取得视频编码的帧选项 |
RV_SetSaveFile | 设置编码后的视频流保存为文件的全路径(包含文件名) |
RV_SetSize | 设置视频的分辨率(仅供收费版本使用) |
RV_GetSize | 取得视频的分辨率(仅供收费版本使用) |
RV_SetFps | 设置视频的帧率 |
RV_GetFps | 取得视频的帧率 |
函数 | RV_EncoderIsUsable |
功能 | 检查视频编码器是否可用(仅供收费版本使用) |
语法 | BOOL WINAPI RV_EncoderIsUsable(
EVideoEncoder eEncoder ); |
参数 | eEncoder 编码器类型 |
返回值 | 可用返回非零 TRUE
不可用返回零 FALSE |
备注 | 在没有安装 Nvidia 显卡的电脑上,CUDA 和 NVENC 不可用。 |
函数 | RV_SelectEncoder |
功能 | 选择要使用的视频编码器(仅供收费版本使用) |
语法 | BOOL WINAPI RV_SelectEncoder(
EVideoEncoder eEncoder ); |
参数 | eEncoder 编码器类型 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 在没有安装 Nvidia 显卡的电脑上,CUDA 和 NVENC 不可用。 |
函数 | RV_GetSelectedEncoder |
功能 | 取得当前选择的视频编码器(仅供收费版本使用) |
语法 | EVideoEncoder WINAPI RV_GetSelectedEncoder(); |
参数 | 无 |
返回值 | EVideoEncoder 当前选择的视频编码器 |
备注 | 无 |
函数 | RV_SetProfile |
功能 | 限制输出文件的 profile(仅供收费版本使用) |
语法 | BOOL WINAPI RV_SetProfile(
EVideoEncoder eEncoder, EVideoProfile eProfile ); |
参数 |
eEncoder 编码器类型
eProfile profile 类型 VF_BaseLine,VF_Main,VF_High。默认为 VF_Auto,也是不设置的状态。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 这个参数将覆盖其它所有值,此选项能保证输出profile兼容的视频流。
如果使用了这个选项,将不能进行无损压缩(qp 0 or crf 0)。 通常不设置值,而使用 VF_Auto,除非播放器指明仅兼容 profile 的设置。 |
函数 | RV_GetProfile |
功能 | 取得为指定的视频编码器设置的 profile(仅供收费版本使用) |
语法 | EVideoProfile WINAPI RV_GetProfile(
EVideoEncoder eEncoder ); |
参数 | eEncoder 编码器类型 |
返回值 | EVideoProfile profile |
备注 | 无 |
函数 | RV_SetPreset |
功能 | 设置压缩效率和运算时间的预设值 |
语法 | BOOL WINAPI RV_SetPreset(
EVideoEncoder eEncoder, EVideoPreset ePreset ); |
参数 |
eEncoder 编码器类型
ePreset preset 类型 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 这个参数预设了几种不同的编码质量和速度,通常来说速度越慢的编码预设,得到的视频图像质量越高。
x264 软件编码和各种硬件编码有不同的预设方案,应使用编码器对应的预设值枚举量,例如 VE_NVENC 对应 EVideoPreset_Nvenc。 |
函数 | RV_GetPreset |
功能 | 取得为指定的视频编码器设置的 preset |
语法 | EVideoPreset WINAPI RV_GetPreset(
EVideoEncoder eEncoder ); |
参数 | eEncoder 编码器类型 |
返回值 | EVideoPreset preset |
备注 | 无 |
函数 | RV_SetBitrate |
功能 | 设置视频编码的码率控制 |
语法 | BOOL WINAPI RV_SetBitrate(
EVideoRateMode eMode, UINT uBitrate, UINT uBitrateMax, UINT uVbvSize ); |
参数 |
eMode 码率控制方式
uBitrate 码率(kbps) uBitrateMax 最大瞬时码率(kbps),默认值为0,不启用VBV,编码性能好,但码率波动大。 uVbvSize 码率控制缓冲区的大小(kbps),默认值为0,不启用VBV,编码性能好,但码率波动大。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | uBitrateMax 和 uVbvSize 只有在使用 ABR 和 VBA 方式时才有效。
uBitrateMax 和 uVbvSize 如果要生效,必须两者都设置非0的值。 |
函数 | RV_GetBitrate |
功能 | 取得码率控制的设置 |
语法 | VOID WINAPI RV_GetBitrate(
EVideoRateMode* pMode, UINT* pBitrate, UINT* pBitrateMax, UINT* pVbvSize ); |
参数 | 无 |
返回值 | 无 |
备注 | 无 |
函数 | RV_SetFrameParams |
功能 | 设置视频编码的帧选项 |
语法 | BOOL WINAPI RV_SetFrameParams(
UINT uGop, UINT uGopMin, UINT uRefFrames, UINT uBFrames ); |
参数 |
uGop 关键帧距离。IDR 帧之间间隔的帧数。
uGopMin 最小关键帧距离。IDR 帧之间最小间隔的帧数(在画面场景切换时,自动插入关键帧)。 uRefFrames B和P帧向前预测参考的帧数,取值范围1-16。值越大编码所需内存越大,速度也越慢,但效果也越好。 uBFrames 两个关键帧之间的最大 B 帧数量。如果设置为 0,则由编码器自行决定如何插入 B 帧。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RV_GetFrameParams |
功能 | 取得视频编码的帧选项 |
语法 | VOID WINAPI RV_GetFrameParams(
UINT* pGop, UINT* pGopMin, UINT* pRefFrames, UINT* pBFrames ); |
参数 | 无 |
返回值 | 无 |
备注 | 无 |
函数 | RV_SetSaveFile |
功能 | 设置编码后的视频流保存为文件的全路径(包含文件名) |
语法 | BOOL WINAPI RV_SetSaveFile(
UNISTR pFilePath, EVideoContainer eContainer, UINT64 uSplitSize ); |
参数 |
pFilePath 文件路径。 eg: C:\Users\myname\Videos\GLive\abc.flv
eContainer 保存为文件时的文件格式。 uSplitSize 文件分割尺寸,即当文件达到限定的长度时,之后的视频保存为新的文件。默认值为0,不分割。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RV_SetLiveUrl |
功能 | 设置编码后的视频流上传到视频服务器 |
语法 | BOOL WINAPI RV_SetLiveUrl(
UNISTR pRtmpUrl, DWORD dwDelaySecond, BOOL bAdaptiveNetwork ); |
参数 |
pRtmpUrl RTMP协议的URL。 eg: rtmp://192.168.0.1/live/a
dwDelaySecond 延迟上传的时间(秒),直播通常设置为0,但有些特殊需求希望延后一段时间再直播。 bAdaptiveNetwork 是否根据网络状态,自动降低码率,使直播流畅。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 此接口仅直播 SDK 可用,录制 SDK 不能使用这个接口(返回 FALSE) |
函数 | RV_SetSize |
功能 | 设置视频的分辨率(仅供收费版本使用) |
语法 | BOOL WINAPI RV_SetSize(
UINT iWidth, UINT iHeight ); |
参数 |
iWidth 宽度,像素。0 表示使用游戏画面的宽度。
iHeight 高度,像素。0 表示使用游戏画面的高度。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RV_GetSize |
功能 | 取得视频的分辨率(仅供收费版本使用) |
语法 | SIZE WINAPI RV_GetSize(); |
参数 | 无 |
返回值 | SIZE 分辨率 |
备注 | 无 |
函数 | RV_SetFps |
功能 | 设置视频的帧率 |
语法 | BOOL WINAPI RV_SetFps(
FLOAT fps ); |
参数 | fps 帧率,不能小于或等于0,值必须大于 0 且小于等于 60。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RV_GetFps |
功能 | 取得视频的帧率 |
语法 | FLOAT WINAPI RV_GetFps(); |
参数 | 无 |
返回值 | FLOAT 帧率 |
备注 | 无 |
该目录下为音频的输入和输出设备的设置和操作的函数,其函数列表如下:
RA_devCount | 取得录音设备的数量 |
RV_DevName | 取得录音设备的名称 |
RV_DevId | 取得录音设备的ID |
RV_Current | 取得录音设备的ID |
RV_SetCurrent | 设置当前选中的录音设备 |
RV_IsEnabled | 取得是否录制声音 |
RV_Enable | 设置是否录制声音 |
RV_Volume | 取得录音音量 |
RV_SetVolume | 设置录音音量 |
RV_SetSample | 设置录音采样格式 |
RV_GetSample | 取得录音采样格式 |
RV_SetSampleEX | 设置录音采样格式 |
RV_SetBitrate | 设置声音数据编码的码率 |
RV_GetBittrate | 取得声音数据编码的码率 |
RA_SetAloneSave | 设置录音单独保存的文件路径和文件格式 |
函数 | RA_devCount |
功能 | 取得录音设备的数量 |
语法 | (仅供收费版本使用)
UINT WINAPI RA_devCount( BOOL bIsOutDev );(仅供免费版本使用) UINT WINAPI RA_DevCount(); |
参数 | bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。 |
返回值 | UINT 数量 |
备注 | 无 |
函数 | RA_DevName |
功能 | 取得录音设备的名称 |
语法 | (仅供收费版本使用)
UNISTR WINAPI RA_DevName( BOOL bIsOutDev, UINT iIndex );(仅供免费版本使用) UNISTR WINAPI RA_DevName( UINT iIndex ); |
参数 |
bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。
iIndex 从0开始,小于 RA_devCount 返回值的索引号。 |
返回值 | UNISTR 名称字符串(unicode) |
备注 | 无 |
函数 | RA_DevId |
功能 | 取得录音设备的ID |
语法 | (仅供收费版本使用)
UNISTR WINAPI RA_DevId( BOOL bIsOutDev, UINT iIndex );(仅供免费版本使用) UNISTR WINAPI RA_DevId( UINT iIndex ); |
参数 |
bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。
iIndex 从0开始,小于 RA_devCount 返回值的索引号。 |
返回值 | UNISTR ID字符串(unicode) |
备注 | 无 |
函数 | RA_Current |
功能 | 取得当前选中的录音设备的ID |
语法 | (仅供收费版本使用)
UNISTR WINAPI RA_Current( BOOL bIsOutDev );(仅供免费版本使用) UNISTR WINAPI RA_Current(); |
参数 | bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。 |
返回值 | UNISTR ID字符串(unicode) |
备注 | 无 |
函数 | RA_SetCurrent |
功能 | 设置当前选中的录音设备 |
语法 | (仅供收费版本使用)
BOOL WINAPI RA_SetCurrent( BOOL bIsOutDev, UNISTR szDevId );(仅供免费版本使用) BOOL WINAPI RA_SetCurrent( UNISTR szDevId ); |
参数 |
bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。
szDevId 录音设备的ID |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_IsEnabled |
功能 | 取得是否录制声音 |
语法 | (仅供收费版本使用)
BOOL WINAPI RA_IsEnabled( BOOL bIsOutDev );(仅供免费版本使用) BOOL WINAPI RA_IsEnabled(); |
参数 | bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。 |
返回值 | TRUE 表示允许录制,否则返回 FALSE |
备注 | 无 |
函数 | RA_Enable |
功能 | 设置是否录制声音 |
语法 | (仅供收费版本使用)
BOOL WINAPI RA_Enable( BOOL bIsOutDev, BOOL bIsEnable );(仅供免费版本使用) BOOL WINAPI RA_Enable( BOOL bIsEnable ); |
参数 |
bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。
bIsEnable TRUE 表示允许录制 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_Volume |
功能 | 取得录音音量 |
语法 | (仅供收费版本使用)
FLOAT WINAPI RA_Volume( BOOL bIsOutDev );(仅供免费版本使用) FLOAT WINAPI RA_Volume(); |
参数 | bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。 |
返回值 | FLOAT 音量,浮点数,值为 0 到 1 之间 |
备注 | 无 |
函数 | RA_SetVolume |
功能 | 设置录音音量 |
语法 | (仅供收费版本使用)
BOOL WINAPI RA_SetVolume( BOOL bIsOutDev, FLOAT fVolume );(仅供免费版本使用) BOOL WINAPI RA_SetVolume( FLOAT fVolume ); |
参数 |
bIsOutDev 是否是输出设备(扬声器)。TRUE表示扬声器,FALSE表示麦克风等输入设备。
fVolume TRUE 表示允许录制 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_SetSample |
功能 | 设置录音采样格式 |
语法 | BOOL WINAPI RA_SetSample(
DWORD dwWaveFormat ); |
参数 | dwWaveFormat MMSystem.h 中声明的 WAVE_FORMAT_XXXX 值。eg: WAVE_FORMAT_2S16 0x00000080 22.05 kHz, Stereo, 16-bit |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_GetSample |
功能 | 取得录音采样格式 |
语法 | const PWAVEFORMATEX WINAPI RA_GetSample(); |
参数 | 无 |
返回值 | PWAVEFORMATEX 如果尚未设置格式,则返回 NULL |
备注 | 无 |
函数 | RA_SetSampleEx |
功能 | 设置录音采样格式 |
语法 | BOOL WINAPI RA_SetSampleEx(
const WAVEFORMATEX& wfmt ); |
参数 | wfmt WAVEFORMATEX 结构,详细的采样格式设置。 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_SetBitrate |
功能 | 设置声音数据编码的码率 |
语法 | BOOL WINAPI RA_SetBitrate(
UINT uBitrate ); |
参数 | uBitrate 码率(kbps) |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
函数 | RA_GetBitrate |
功能 | 取得声音数据编码的码率 |
语法 | UINT WINAPI RA_GetBitrate(); |
参数 | 无 |
返回值 | UINT 码率(kbps) |
备注 | 无 |
函数 | RA_SetAloneSave |
功能 | 设置录音单独保存的文件路径和文件格式 |
语法 | BOOL WINAPI RA_SetAloneSave(
EAudioContainer eContainer, UNISTR szFilePath ); |
参数 |
eContainer 文件格式
szFilePath 文件路径 |
返回值 | 成功返回非零 TRUE
失败返回零 FALSE |
备注 | 无 |
该SDK下的所有回调函数,其列表如下:
OnRecorderStatusCB | 回调函数,用于通知当前录制状态 |
OnCameraBufferCB | 回调函数,摄像头的图像数据(仅供收费版本使用) |
OnShortcutKeyCB | 当快捷键被按下时,触发的回调函数 |
函数 | OnRecorderStatusCB |
功能 | 回调函数,用于通知当前录制状态 |
语法 | typedef VOID ( WINAPI *OnRecorderStatusCB )(
ERecStatus eStatus, UINT iValue, LPVOID pCbParam ); |
参数 |
eStatus 通知的状态
iValue 各个状态时附加的值 RS_Stoped 错误代码(E_USER_DEFINE_ERROR) RS_Starting 0 RS_Connecting 重连接的次数。首次连接时值为0,连接失败再次尝试时值加1。连接成功后值归0。 RS_Recording 0 RS_Stoping 错误代码(E_USER_DEFINE_ERROR) RS_AudDevChanged 0 RS_AudOutLive 音量电平( 0~32767 ) RS_AudOutLive 音量电平( 0~32767 ) pCbParam 回调回传参数 |
返回值 | 无 |
备注 | 无 |
函数 | OnCameraBufferCB |
功能 | 回调函数,摄像头的图像数据(仅供收费版本使用) |
语法 | typedef VOID (WINAPI* OnCameraBufferCB )(
double dblSampleTime, BYTE * pBuffer, long lBufferSize, LPVOID pCbParam ); |
参数 |
dblSampleTime 时间戳
pBuffer 图像数据的指针 lBufferSize 图像数据的长度,字节 pCbParam 回传参数 |
返回值 | 无 |
备注 | 无 |
函数 | OnShortcutKeyCB |
功能 | 当快捷键被按下时,触发的回调函数 |
语法 | typedef VOID ( WINAPI *OnShortcutKeyCB ) (
UNISTR szKeyName, LPVOID pCbParam ); |
参数 |
szKeyName 快捷键名称
pCbParam 回调函数的回传参数 |
返回值 | 无 |
备注 | 无 |
该目录下为SDK的所有结构体,其列表如下:
SRecStaInfo | 游戏录制状态的详细信息 |
SGameInfo | 游戏进程信息 |
结构 | SGameInfo |
名称 | 游戏进程信息 |
内容 | struct SGameInfo {
DWORD dwProcessId; DWORD dwParentPID; BOOL bIs64BitProc; DWORD dwSessionId; LPCWSTR szFilePath; LPCWSTR szBaseName; EGameInterface eInterface; EGameCapture eCapture; SIZE sViewSize }; |
参数 |
dwProcessId 游戏进程 ID
dwParentPID 游戏进程的父进程 ID bIs64BitProc 是否是 64 位的进程 dwSessionId 游戏进程的 Session ID szFilePath 游戏进程的完整文件路径 szBaseName 游戏进程的文件名 eInterface 游戏使用的绘图接口 eCapture 游戏画面截取的状态 sViewSize 游戏的画面分辨率 |
结构 | SRecStaInfo |
名称 | 游戏录制状态的详细信息 |
内容 | struct SRecStaInfo {
ERecStatus eStatus; float fTotalTime; float fUploadTime; float fAvgBps; float fCurrentBps; float fAvgEncodeFps; float fCurEncodeFps; UINT uRecordTime; UINT uCurFrameNum; UINT uEncFrameCount; UINT uReConnCount }; |
参数 |
eStatus 状态(只有 RS_Stoped/RS_Starting/RS_Connecting/RS_Recording/RS_Stoping
这五个状态)
fTotalTime 已经编码的总时间 (秒) fUploadTime 已经上传的视频的总时间 (秒) fAvgBps 平均上传码率 (kbps) fCurrentBps 当前上传码率 (kbps) fAvgEncodeFps 平均的编码帧率 fCurEncodeFps 当前编码的帧率 uRecordTime 从开始录制到当前经过的毫秒数 uCurFrameNum 录制时当前帧的编号 uEncFrameCount 实际编码完成的帧数,不包括跳过的帧数 uReConnCount 重连计数。首次连接时值为0,连接失败再次尝试时值加1。连接成功后值归0。 |
该目录下为SDK的所有枚举量,其列表如下:
EGameCapture | 进行游戏画面截取的状态 |
EGameShotFileFomat | 游戏载图时保存的文件格式 |
EVideoEncoder | 视频编码器的类型 |
EVideoProfile | 视频编码配置,profile |
EVideoPreset | 用于各种视频编码器的 Preset 配置 |
EVideoRateMode | 视频编码器码率控制方式设置 |
EGameInterface | 游戏使用的绘图接口 |
ERecStatus | 游戏录制状态,通过回调函数通知的当前状态 |
ERecDefaultDirs | 文件夹类型 |
EVideoContainer | 保存视频文件的格式 |
EAudioContainer | 单独保存音频文件的格式 |
枚举量 | EGameCapture |
名称 | 进行游戏画面截取的状态 |
内容 | enum EGameCapture {
GC_Idle, GC_Starting, GC_Recording, GC_Stoping }; |
参数 |
GC_Idle 空闲的,未开始图像捕获。
GC_Starting 正在开始。 GC_Recording 正在捕获。 GC_Stoping 正在停止。停止后恢复为 GC_Idle 状态。 |
枚举量 | EGameShotFileFormat |
名称 | 游戏载图时保存的文件格式 |
内容 | enum EGameShotFileFormat {
GF_eFileBMP, GF_eFileJPG, GF_eFilePNG, GF_eFileGIF }; |
参数 |
GF_eFileBMP 文件格式为"BMP"
GF_eFileJPG 文件格式为"JPG" GF_eFilePNG 文件格式为"PNG" GF_eFileGIF 文件格式为"GIF" |
枚举量 | EVideoEncoder |
名称 | 视频编码器的类型 |
内容 | enum EVideoEncoder {
VE_X264, VE_CUDA, VE_NVENC, VE_INTEL }; |
参数 |
VE_X264 nvidia CUDA 硬件加速编码器
VE_CUDA nvidia CUDA 硬件加速编码器 VE_NVENC nvidia NVENC 硬件编码器 VE_INTEL intel 核显加速编码器 |
枚举量 | EVideoProfile |
名称 | 视频编码配置,profile |
内容 | enum EVideoProfile {
VF_Auto, VF_BaseLine, VF_Main, VF_High }; |
参数 |
VF_Auto
VF_BaseLine VF_Main VF_High |
枚举量 | EVideoPreset |
名称 | 用于各种视频编码器的 Preset 配置 |
内容 | typedef int EVideoPreset;
enum EVideoPreset { VP_x264_UltraFast, VP_x264_VeryFast, VP_x264_Faster, VP_x264_Fast, VP_x264_Medium, VP_x264_Slow, VP_x264_Slower, VP_x264_VerySlow, VP_x264_Placebo }; |
参数 |
VP_x264_UltraFast
VP_x264_VeryFast VP_x264_Faster VP_x264_Fast VP_x264_Medium VP_x264_Slow VP_x264_Slower VP_x264_VerySlow VP_x264_Placebo |
枚举量 | EVideoRateMode |
名称 | 视频编码器码率控制方式设置 |
内容 | enum EVideoRateMode {
VR_AverageBitrate, VR_VariableBitrate, VR_ConstantBitrate }; |
参数 |
VR_AverageBitrate 平均码率(ABR)
VR_VariableBitrate 可变码率(VBR) VR_ConstantBitrate 固定码率(CBR) |
枚举量 | EGameInterface |
名称 | 用于各种视频编码器的 Preset 配置 |
内容 | enum EGameInterface {
GI_Unknow, GI_GDI, GI_OpenGL, GI_DirectDraw, GI_DirectX8, GI_DirectX9, GI_DirectX10, GI_DirectX11 }; |
参数 |
GI_Unknow 未知的。未初始化或尚未获得目标程序的绘图接口信息
GI_GDI GDI,通常不会出现 GDI 类型,如果出现说明由于某些原因当前只能使用 GDI 方式抓取游戏画面。 GI_OpenGL OpenGL 游戏 GI_DirectDraw DirectX 7 及之前的所有 DirectX 版本 GI_DirectX8 DirectX8 GI_DirectX9 DirectX9 GI_DirectX10 DirectX10 GI_DirectX11 DirectX11 |
枚举量 | ERecStatus |
名称 | 游戏录制状态,通过回调函数通知的当前状态 |
内容 | enum ERecStatus {
RS_Stoped, RS_Starting, RS_Connecting, RS_Recording, RS_Stoping, RS_AudDevChanged = 20, RS_AudOutLive, RS_AudInpLive }; |
参数 |
RS_Stoped 当前是停止状态,未开始录制。
RS_Starting 当前正在为开始录制进行初始化工作。 RS_Connecting 正在连接/重连服务器(直播时)。 RS_Recording 当前正在录制。 RS_Stoping 当前正在为停止录制进行处理。 以下是触发型状态,状态不会保持。 RS_AudDevChanged 音频设备有改变。 RS_AudOutLive Output 类型的录音设备当前音量电平。 RS_AudInpLive Input 类型的录音设备当前音量电平。 |
枚举量 | ERecDefaultDirs |
名称 | 文件夹类型 |
内容 | enum ERecDefaultDirs {
RDir_Profile, RDir_Videos, RDir_Audios, RDir_Images }; |
参数 |
RDir_Profile 默认的配置文件文件夹。eg: C:\Users\UserName\AppData\Local\17rd\GLive
RDir_Videos 默认的视频文件夹。eg: C:\Users\UserName\Videos\GLive RDir_Audios 默认的音频文件夹。eg: C:\Users\UserName\Music\GLive RDir_Images 默认的图片文件夹。eg: C:\Users\UserName\Pictures\GLive |
枚举量 | EVideoContainer |
名称 | 保存视频文件的格式 |
内容 | enum EVideoContainer {
Vid_FLV, Vid_MP4, Vid_AVI }; |
参数 |
Vid_FLV 文件格式为"FLV"
Vid_MP4 文件格式为"MP4" Vid_AVI 文件格式为"AVI" |
枚举量 | EAudioContainer |
名称 | 单独保存音频文件的格式 |
内容 | enum EAudioContainer {
Aud_MP3, Aud_WAV }; |
参数 |
Aud_MP3 文件格式为"MP3"
Aud_WAV 文件格式为"WAV" |