txCameraRecord

getLicenceInfo musicListEventListener appendData

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码供您参考。

概述

短视频 UGSV 简介

短视频 ( User Generated Short Video,UGSV ),基于腾讯云强大的上传、存储、转码、分发的云点播能力,提供集成了采集、剪辑、拼接、特效、分享、播放等功能的客户端 SDK,并整合腾讯的 IM、社交、用户画像数据以及最顶尖的 AI 人脸识别和图像检测技术,帮助用户聚焦业务本身,快速轻松实现基于移动端的短视频应用。

txCameraRecord 模块概述

本模块封装了腾讯短视频SDK中的录制、编辑、美颜、特效等功能。(模块从1.1.0版本开始需要和UIListView模块配合使用来处理音乐列表加载逻辑,使用的是开源UIListView模块版本,UIListView模块开源地址:https://github.com/apicloudcom/UIListView

固件要求

Android:4.1及以上 iOS:8.0及以上

setLicence

设置授权

setLicence({params}, callback(ret, err))

params

ugcLicenceUrl:

  • 类型:字符串
  • 描述:(必填项)从腾讯云平台获取的LicenseUrl。

ugcKey:

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

err:

  • 类型:JSON对象
  • 内部字段:
  1. msg: "",
  2. }

示例代码

  1. var demo = api.require('txCameraRecord');
  2. demo.setLicence({
  3. ugcLicenceUrl : 'http://license.vod2.myqcloud.com/license/v1/TXUgcSDK.licence',
  4. ugcKey : '0a8ee791929052b2dce775c308e'
  5. },function(ret, err){
  6. alert(JSON.stringify(ret) +" "+ JSON.stringify(err));
  7. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getLicenceInfo

获取授权信息

setLicence(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true
  3. licence : '', //sdk返回的授权信息字符串
  4. }

示例代码

  1. var demo = api.require('txCameraRecord');
  2. demo.getLicenceInfo(function(ret, err){
  3. alert(JSON.stringify(ret));
  4. });

iOS、Android系统

startVideoRecordActivity

短视频录制

startVideoRecordActivity({params}, callback(ret))

params

aspectRatio:

  • 类型:数字型
  • 描述:(可选项)录制视频比例 (0 > 1:1 1 > 4:3 2 > 16:9)。
  • 默认值:0

recordResolution:

  • 类型:数字型
  • 描述:(可选项)录制分辨率 (0 > 360_640 1 > 540_960 2 > 720_1280)。
  • 默认值:0

biteRate:

  • 类型:数字型
  • 描述:(可选项)码率 (范围:600-4800)。
  • 默认值:2400

fps:

  • 类型:数字型
  • 描述:(可选项)帧率 (范围:15-30)。
  • 默认值:20

gop:

  • 类型:数字型
  • 描述:(可选项)关键帧间隔 (范围:1-10)。
  • 默认值:3

logo:

  • 类型:字符串
  • 描述:(可选项)视频尾部水印logo(支持fs:// widget://路径)。

minDuration:

  • 类型:数字型
  • 描述:(可选项)视频最短时长(秒)。
  • 默认值:5

maxDuration:

  • 类型:数字型
  • 描述:(可选项)视频最长时间(秒)。
  • 默认值:60

isFront:

  • 类型:布尔型
  • 描述:(可选项)是否前置摄像头 (true 前置 fasle 后置)
  • 默认值:true

isBeauty:

  • 类型:布尔型
  • 描述:(可选项)是否显示美颜按钮 (true 显示 false 隐藏)
  • 默认值:true

isMusic:

  • 类型:布尔型
  • 描述:(可选项)是否显示音乐按钮 (true 显示 false 隐藏)
  • 默认值:false

isCustomMusic:

  • 类型:布尔型
  • 默认值:false

musicPath:

  • 类型:字符串
  • 描述:(可选项)录制时播放音乐,(支持fs:// widget://路径,安卓不支持widget路径)【备注:安卓设置音乐时会覆盖麦克风的语音】

isUploadPic:

  • 类型:布尔型
  • 描述:(可选项)下载按钮对应图片是否显示上传图片样式 (true 显示上传按钮样式 false 显示下载按钮样式)
  • 默认值:false

data:

  • 类型:数组
  • 描述:音乐列表的数据源,
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  4. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  5. remark: '', //(可选项)字符串类型;右边备注文字
  6. icon: '', //(可选项)字符串类型;右侧备注的图标路径(本地路径,支持fs://、widget://)
  7. forbidden: false, //(可选项)布尔类型;是否屏蔽本条数据的点击事件和侧滑露出按钮功能,屏蔽后的样式可通过 styles->forbidden参数配置
  8. filePath: '' //(必填项)字符串类型;在线音乐URL地址,(可支持fs://)
  9. }]

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块各部分的样式
  • 内部字段:

refreshHeader:

  • 类型:JSON 对象
  • 描述:(可选项)下拉刷新样式
  • 内部字段:
  1. {
  2. loadingImg '', //(可选项) 字符串 下拉刷新时显示的小箭头图标的本地路径,要求本地路径(fs://、widget://)
  3. bgColor '', //(可选项) 字符串 下拉刷新区域的背景色,支持 rgb、rgba、# 默认值:'#f5f5f5'
  4. textColor'',//(可选项)字符串 提示文字颜色,支持 rgb、rgba、# 默认值:'#8e8e8e'
  5. textDown'',//(可选项)字符串 下拉提示文字 默认值:下拉可以刷新...
  6. textUp'',//(可选项)字符串 松开提示文字 默认值:松开开始刷新...
  7. loadingText: '',//(可选项)字符串 提示文字 默认值:正在加载...
  8. lastUpdateText: '',//(可选项)字符串 提示文字 默认值:上次更新时间:
  9. showTime'',//(可选项)布尔值 是否显示刷新时间 默认值:true
  10. }
  • 类型:JSON 对象
  • 描述:(可选项)上拉加载更多样式
  • 内部字段:
  1. {
  2. loadingImg'',//(可选项)字符串 上拉加载时显示的小箭头图标的本地路径,要求本地路径(fs://、widget://)
  3. bgColor'',//(可选项)字符串 上拉加载区域的背景色,支持 rgb、rgba、# 默认值:'#f5f5f5'
  4. textColor'',//(可选项)字符串 提示文字颜色,支持 rgb、rgba、# 默认值:'#8e8e8e'
  5. textUp'',//(可选项)字符串 上拉提示文字 默认值:'上拉加载更多...'
  6. textDown'',//(可选项)字符串 松开提示文字 默认值:'松开开始加载...'
  7. loadingText: '',//(可选项)字符串 提示文字 默认值:正在加载...
  8. lastUpdateText: '',//(可选项)字符串 提示文字 默认值:上次更新时间:
  9. showTime'',//(可选项)布尔值 是否显示刷新时间 默认值:true
  10. }

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true
  3. evenType : 'musicBtn', //isCustomMusic 为false时点击音乐按钮事件返回
  4. data : {
  5. filePath : '' ,
  6. imagePath : '',
  7. duration : 0,
  8. }
  9. }

示例代码

  1. var demo = api.require('txCameraRecord');
  2. demo.startVideoRecordActivity({
  3. recordResolution : 1,
  4. biteRate : 3000,
  5. fps : 25,
  6. gop : 5,
  7. logo : 'widget://image/tcloud_logo.png',
  8. minDuration : 5,
  9. maxDuration : 10,
  10. isFront : true,
  11. isBeauty : true,
  12. musicPath : 'widget://res/Athena.mp3',
  13. //一下是音乐列表设置
  14. isMusic: true, //是否显示音乐按钮 true 显示 false 隐藏 默认 false
  15. isCustomMusic: true, //是否自定义音乐 true 显示 false 隐藏 默认 false
  16. data: [{
  17. imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  18. title: 'bandari(在线测试)',
  19. subTitle: 'bandari',
  20. //remark: '新备注',
  21. //icon: '',
  22. filePath: 'http://7z2dc9.com1.z0.glb.clouddn.com/apicloud/be59ba6f9527382d655abc50f720871e.mp3',
  23. }],
  24. rightBtns: [{
  25. bgColor: '#388e8e',
  26. activeBgColor: '',
  27. width: 70,
  28. title: '选取',
  29. titleSize: 12,
  30. titleColor: '#fff',
  31. icon: '',
  32. iconWidth: 20
  33. }],
  34. styles: {
  35. item: {
  36. bgColor: '#FFFFFF',
  37. activeBgColor: '#F5F5F5',
  38. height: 80.0,
  39. imgWidth: 60,
  40. imgHeight: 60,
  41. imgCorner: 4,
  42. placeholderImg: 'widget://image/musiclist_img_item_music_bg.png',
  43. }
  44. },
  45. refreshHeader: {
  46. loadingImg: 'widget://res/UIListView_arrow.png',
  47. bgColor: '#F5F5F5',
  48. textColor: '#8E8E8E',
  49. textDown: '下拉可以刷新...',
  50. textUp: '松开开始刷新...',
  51. showTime: true
  52. },
  53. refreshFooter: {
  54. loadingImg: 'widget://res/UIListView_arrow.png',
  55. bgColor: '#F5F5F5',
  56. textColor: '#8E8E8E',
  57. textUp: '上拉加载更多...',
  58. textDown: '松开开始加载...',
  59. }
  60. }, function(ret, err) {
  61. alert(JSON.stringify(ret));
  62. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

musicListEventListener

音乐列表事件监听

musicListEventListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true
  3. eventType: 'show', //字符串类型;交互事件类型
  4. //取值范围如下:
  5. //show(模块加载成功)
  6. //refreshHead(下拉刷新事件)
  7. //refreshFooter(上啦加载事件)
  8. //clickImg(点击列表项的配图)
  9. //clickRemark(点击列表项右侧备注)
  10. //clickContent(点击列表项的内容,除了配图和备注以外的区域,处罚这个事件时会自动播放音乐,同时下载本音乐到本地,以供录制视频使用)
  11. index: 0, //数字类型;列表项的索引
  12. }

示例代码

iOS、Android系统

可提供的1.0.0及更高版本

reloadData

刷新音乐列表数据

reloadData({params}, callback(ret))

params

data:

  • 类型:数组
  • 描述:(可选项)音乐列表的数据源,若不传或传空,仅收起下拉刷新组件
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  4. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  5. remark: '', //(可选项)字符串类型;右边备注文字
  6. icon: '', //(可选项)字符串类型;右侧备注的图标路径(本地路径,支持fs://、widget://)
  7. forbidden: false, //(可选项)布尔类型;是否屏蔽本条数据的点击事件,屏蔽后的样式可通过 open->styles->forbidden参数配置
  8. filePath: '' //(必填项)字符串类型;在线音乐URL地址,(可支持fs://)
  9. }]

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var demo = api.require('txCameraRecord');
  2. demo.reloadData({
  3. data: [{
  4. imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  5. title: '新标题',
  6. subTitle: '新子标题',
  7. remark: '新备注',
  8. icon: '',
  9. filePath: 'http://7z2dc9.com1.z0.glb.clouddn.com/apicloud/be59ba6f9527382d655abc50f720871e.mp3',
  10. }]
  11. }, function(ret) {
  12. if (ret) {
  13. alert(JSON.stringify(ret));
  14. } else {
  15. alert(JSON.stringify(err));
  16. }
  17. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendData

向音乐列表末端追加数据

appendData({params}, callback(ret))

params

data:

  • 类型:数组对象
  • 描述:音乐列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的附图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  4. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  5. remark: '', //(可选项)字符串类型;右边备注文字
  6. icon: '', //(可选项)字符串类型;右侧备注的图标路径(本地路径,支持fs://、widget://)
  7. forbidden: false, //(可选项)布尔类型;是否屏蔽本条数据的点击事件,屏蔽后的样式可通过 open->styles->forbidden参数配置
  8. filePath: '' //(必填项)字符串类型;在线音乐URL地址,(可支持fs://)
  9. }]

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false

可用性

iOS系统,Android系统