多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 音视频录像 AnyChat提供了[音视频录制整体解决方案](http://bbs.anychat.cn/forum.php?mod=viewthread&tid=1132),为双录过程中最重要的音视频录像功能提供了支持。 本节将讲述如何利用AnyChat SDK实现在录像中添加图片、文字水印以及在录像过程中插入图片,至于基本的录像实现方法,本文将不细述。 ### 录像中添加图片、文字水印 为了让产品更好地适应互联网金融的需求,AnyChat SDK提供了在录像中添加图片水印、文字水印功能。 #### 实现方式 在录像中,lpUserStr参数为Json字符串,使用“watermark”为关键字传入一个Json对象,用来定义图片水印;使用“textoverlay”为关键字传入一个Json对象,用来定义文字水印。 ``` // 图片水印Json对象的关键字定义: "alpha":图片透明度,默认为100,可不传(不传时,将应用默认值); "posx":图片水印在x轴方向上的起始位置(百分比,范围0~100); "posy":图片水印在y轴方向上的起始位置(百分比,范围0~100); "overlayimgwidth":图片的宽度,可传0,表示应用图片的原始宽度,传其他值时建议按高宽度比例来设置; "overlayimgheight":图片的高度,可传0,表示应用图片的原始高度,传其他值时建议按高宽度比例来设置; "imagepath":图片的路径,传入图片的本地路径(绝对路径); // 文字水印Json对象的关键字定义: "fontcolor":文字颜色,文字默认为白色(0xffffff,颜色值采用十六进制rgb格式),可不传(不传时,将应用默认值); "alpha":文字的透明度,默认为100,可不传(不传时,将应用默认值); "posx":文字水印在x轴方向上的起始位置(百分比,范围0~100); "posy":文字水印在y轴方向上的起始位置(百分比,范围0~100); "fontsize":文字大小,默认为23号大小,可不传(不传时,将应用默认值); "text":文字内容,若加上[timestamp],则表示增加时间戳; ``` #### 示例代码 ``` //图片水印对象 var szJsonBuf4Img = { alpha: 50, posx: 8, posy: 8, overlayimgwidth: 0, overlayimgheight: 0, imagepath: "d:\\LOGOB.png" }; // 文字水印对象 var szJsonBuf4Txt = { fontcolor: "0xffffff", alpha: 100, posx: 5, posy: 5, fontsize: 18, text: "HelloAnyChat[timestamp]" }; // 水印对象,可同时添加图片水印、文字水印,也可以只添加一种水印 var jsonObj = { watermark: szJsonBuf4Img, textoverlay: szJsonBuf4Txt }; var flags = BRAC_RECORD_FLAGS_VIDEO + BRAC_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_MIXAUDIO + BRAC_RECORD_FLAGS_MIXVIDEO + BRAC_RECORD_FLAGS_STEREO + BRAC_RECORD_FLAGS_LOCALCB; // 开始录制 BRAC_StreamRecordCtrlEx(-1, 1, flags, 0, JSON.stringify(jsonObj)); // 结束录制 BRAC_StreamRecordCtrlEx(-1, 0, flags, 0, JSON.stringify(jsonObj)); ``` ### 在录像中插入图片 在录像中根据语音播报一次插入图片,可做出类似于ppt播放的效果。 #### 示例代码 ``` // 配置要插入的图片位置和图片来源地址 var plJsonStr = { recordindex: 0, // 插入的位置 filename: filename // 图片地址 } //调用插入图像接口 BRAC_SetSDKOption(BRAC_SO_RECORD_INSERTIMAGE, plJsonStr); ``` *注意:该接口需要在录制过程中调用,每次调用只是插入一张图片,如果要做播放PPT的类似的功能,需要上层应用根据播放的进度、应用场景,定时地调用此接口进行插入。*