qiniuShortVideo

来自于:AC模块工作室立即使用

概述

qiniuShortVideo 封装了七牛的短视频 SDK,提供了包括美颜、滤镜、水印、断点录制、分段回删、视频编辑、混音特效、MV 特效、本地/云端存储在内的多种功能。

iOS授权

七牛短视频 SDK需授权方可使用,开发者需要自己从七牛官方获取短视频 SDK,然后将短视频 SDK打包成一个附加自定义模块上传 APICloud 平台。

制作方法如下:

下载 qiniuShortVideoAppendix 模块 zip 包并解压,把 zip 包内 target 目录下的 PLShortVideoKit.framework 文件替换为自己从七牛官方获取的短视频 SDK。然后重新压缩为 zip 包文件上传自定义模块,云编译时勾选该模块。

android SDK授权

由于七牛短视频SDK是付费项目,请联系七牛商务获取SDK,获取到SDK后开始配置七牛SDK

  • 1、下载七牛动态sdk模块包,并解压
  • 2、解压后打开source目录,会看到一个qiniuAppendix.jar,将其解压,会看一个(/assets/filters/ 目录结构),将从七牛商务获取到的SDK中的filters目录,替换掉assets目录下的filters,并将qiniuAppendix再次压缩成qiniuAppendix.jar
  • 3、source目录中还有一个pldroid-shortvideo-x.x.x.jar(x.x.x表示版本号)文件,将从七牛商务获取到的sdk中的pldroid-shortvideo-x.x.x.jar,替换掉source中的pldroid-shortvideo-x.x.x.jar
  • 4、打开第一步解压后target文件,将从七牛商务获取到的sdk中armeabi-v7a的文件,替换掉target中的文件(如果不存在armeabi-v7a文件夹,可以将armabi文件夹下的文件替换)
  • 5、重新将qiniuShortVideoAppendix压缩成zip包,上传自定义模块

android编译

  • android使用升级环境编译
  • android编译需在Android 4.3 (API 18) 及其以上

configuration

视频拍摄配置。

configuration({params})

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)播放器的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;摄像头的预览视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(可选项)数字类型;(可选项)摄像头的预览视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 300,  //(可选项)数字类型;摄像头的预览视图的宽度;默认值:所属的 Window 或 Frame 的宽度
    h: 200   //(可选项)数字类型;摄像头的预览视图的高度;默认值:w的3/4
}

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)摄像头的预览视图添加到指定窗口的名字
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)摄像头的预览视图是否随所属 window 或 frame 滚动
  • 默认:true(不随之滚动)

maxDuration:

  • 类型:数字类型
  • 描述:(可选项)视频录制的最大时长,单位为秒
  • 默认:10

minDuration:

  • 类型:数字类型
  • 描述:(可选项)视频录制的最短时间,单位为秒;(android不支持)
  • 默认:2

innerFocusViewShowEnable:

  • 类型:布尔类型
  • 描述:(可选项)手动对焦的视图动画;(android不支持)
  • 默认:true

continuousAutofocusEnable:

  • 类型:布尔类型
  • 描述:(可选项)连续自动对焦;(android不支持)
  • 默认:true

touchToFocusEnable:

  • 类型:布尔类型
  • 描述:(可选项)手动点击屏幕进行对焦;(android不支持)
  • 默认:true

smoothAutoFocusEnabled:

  • 类型:布尔类型
  • 描述:(可选项)该属性适用于视频拍摄过程中用来减缓因自动对焦产生的镜头伸缩,使画面不因快速的对焦而产生抖动感;(android暂不支持)
  • 默认:true

outputFileType:

  • 类型:字符串类型
  • 描述:(可选项)视频的文件类型;android只支持mp4
  • 取值范围:

    'mp4' : .mp4;

    'mov' : .mov;

    'm4a' : .m4a

  • 默认:'mp4'

videoFrameRate:

  • 类型:数字类型
  • 描述:(可选项)采集的视频数据的帧率
  • 默认:25

fillMode:

  • 类型:字符串
  • 描述:(可选项)预览比例;(ios不支持)
  • 默认值:preserveAspectRatio
  • 取值范围:

    • 'stretch' : Stretch to fill the full view, which may distort the image outside of its normal aspect ratio;

    • 'preserveAspectRatio' : Maintains the aspect ratio of the source image, adding bars of the specified background color;

fileName:

  • 类型:字符串
  • 描述:(可选项)生成文件的名称,只是一个名称,不是路径,如果不写,模块随机生成一个,(ios不支持)
  • 默认值:随机生成

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.configuration({
                              rect : {
                              x :  20,
                              y : 550,
                              w : 350,
                              h : 170
                              },                                                                                  maxDuration : 20
                          });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startCaptureSession

开启音视频采集。

startCaptureSession()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.startCaptureSession();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopCaptureSession

停止音视频采集。

stopCaptureSession()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.stopCaptureSession();

可用性

iOS系统

可提供的1.0.0及更高版本

startRecording

开始录制视频。

startRecording()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.startRecording();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecording

停止录制视频。

stopRecording()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.stopRecording();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelRecording

取消录制会停止视频录制并删除已经录制的视频段文件(包括本地视频文件),可以再调用startRecording和stopRecording进行录制,录制时间从零算起。

cancelRecording()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.cancelRecording();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showPreviewView

显示摄像头的预览视图。

showPreviewView()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.showPreviewView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hidePreviewView

隐藏摄像头的预览视图。

hidePreviewView()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.hidePreviewView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeVideoRecorder

关闭视频拍摄功能,并移除摄像头的预览视图,如需启用视频拍摄功能需要重新调用configuration接口。

closeVideoRecorder()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.closeVideoRecorder();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setPreviewViewRect

设置摄像头的预览视图的坐标。

setPreviewViewRect({params})

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)播放器的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:configuration中设置的x坐标
    y: 0,   //(可选项)数字类型;(可选项)模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:configuration中设置的y坐标
    w: 300,  //(可选项)数字类型;模块的宽度;默认值:configuration中设置的宽度
    h: 200   //(可选项)数字类型;模块的高度;默认值:configuration中设置的高度
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo. setPreviewViewRect({
                            rect:{
                                    x: 0,
                                y: 0,
                                w: 300,
                                h: 200
                                 }
                              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getFilesCount

获取录制的视频段的总数目(从调用configuration接口算起)。

getFilesCount(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  count : 2                 //数字类型;录制的视频段的总数目
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getFilesCount(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统

可提供的1.0.0及更高版本

getTotalDuration

获取所有录制的视频段加起来的总时长(从调用configuration接口算起)。

getTotalDuration(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  totalDuration : 20             //数字类型;所有录制的视频段加起来的总时长
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getTotalDuration(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统

可提供的1.0.0及更高版本

getAllFiles

获取所有录制的视频段的地址(从调用configuration接口算起)。

getAllFiles(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  allFiles : [             //数组类型;所有录制的视频段的地址数组
   '/var/mobile/Containers/20171204153729.mp4' :  //字符串类型;视频路径
  ]
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getAllFiles(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统

可提供的1.0.0及更高版本

deleteAllFiles

删除所有录制的视频段,从调用configuration接口算起(也会将本地存储的视频删除,如再次调用startRecording进行录制,录制时间从零算起)。

deleteAllFiles()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.deleteAllFiles();

可用性

iOS系统

可提供的1.0.0及更高版本

deleteLastFile

删除上一个录制的视频段(也会将本地存储的视频删除,删除的视频段的时长也会从总时长中减去)。

deleteLastFile()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.deleteLastFile();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isTorchOn

获取是否开启闪光灯状态。

isTorchOn(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  isTorchOn : true                 //布尔类型;是否开启闪光灯
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.isTorchOn(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

torchOn

开启或关闭闪光灯。

torchOn({params})

params

torchOn:

  • 类型:布尔类型
  • 描述:(可选项)开启或关闭闪光灯
  • 默认:false

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.torchOn();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

toggleCamera

切换前置/后置摄像头。

toggleCamera()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.toggleCamera();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBeautifyModeOn

开启或关闭美颜功能。

setBeautifyModeOn({params})

params

on:

  • 类型:布尔类型
  • 描述:(可选项)开启或关闭美颜功能
  • 默认:false

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setBeautifyModeOn();

可用性

iOS系统, Android系统

可提供的1.0.0及更高版本

setBeautify

设置对应 Beauty 的程度参数。

setBeautify({params})

params

beautify:

  • 类型:数字类型
  • 描述:(可选项)设置对应 Beauty 的程度参数,beautify 范围从 0 ~ 1,0 为不美颜
  • 默认:0.5

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setBeautify();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setWhiten

设置美白程度(注意:如果美颜不开启,设置美白程度参数无效)。

setWhiten({params})

params

whiten:

  • 类型:数字类型
  • 描述:(可选项)设置美白程度,范围是从 0 ~ 1,0 为不美白
  • 默认:0.5

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setWhiten();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRedden

设置红润的程度参数(注意:如果美颜不开启,设置美白程度参数无效)。

setRedden({params})

params

redden:

  • 类型:数字类型
  • 描述:(可选项)设置红润的程度参数,范围是从 0 ~ 1,0 为不红润
  • 默认:0.5

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setRedden();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setWaterMark

开启水印。

setWaterMark({params})

params

origin:

  • 类型:JSON 对象
  • 描述:(可选项)水印图片位置
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;水印图片位置左上角的 x 坐标(相对于摄像头预览视图);默认值:0
    y: 0,   //(可选项)数字类型;水印图片位置左上角的 y 坐标(相对于摄像头预览视图);默认值:0
}

path:

  • 类型:字符串类型
  • 描述:用于设置水印的图片路径,要求本地路径(widget://、fs://)
  • 默认:无

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setWaterMark({
                                 path : 'widget://res/qiniu_logo.png',
                                 origin : {
                                     x : 10,
                                     y : 10
                                 }
                              });

可用性

iOS系统

可提供的1.0.0及更高版本

clearWaterMark

移除水印。

clearWaterMark()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.clearWaterMark();

可用性

iOS系统

可提供的1.0.0及更高版本

isRecording

是否处于录制状态。

isRecording(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  isRecording : true                 //布尔类型;是否处于录制状态
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.isRecording(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

recoderRate

设置视频拍摄速率,处于录制状态时,设置该值无效。

recoderRate({params})

params

recoderRate:

  • 类型:字符串类型
  • 描述:(可选项)设置视频拍摄速率
  • 取值范围:

    'normal' : 1x;

    'slow' : 0.667x;

    'topSlow' : 0.5x;

    'fast' : 1.5x;

    'topFast' : 2x

  • 默认:'normal'

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.recoderRate();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

fillMode

摄像头预览视图中视频的填充方式。

fillMode({params})

params

fillMode:

  • 类型:字符串类型
  • 描述:(可选项)填充方式
  • 取值范围:

    'stretch' : Stretch to fill the full view, which may distort the image outside of its normal aspect ratio;

    'preserveAspectRatio' : Maintains the aspect ratio of the source image, adding bars of the specified background color;

    'preserveAspectRatioAndFill' : Maintains the aspect ratio of the source image, zooming in on its center to fill the view;

  • 默认:'preserveAspectRatioAndFill'

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.fillMode();

可用性

iOS系统

可提供的1.0.0及更高版本

getFileDuration

获取视频/音频文件的总时长。

getFileDuration({params},callback(ret))

params

path:

  • 类型:字符串类型
  • 描述:视频/音频文件的路径,要求本地路径(widget://、fs://)(android不支持widget)
  • 默认:无

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  duration :20                 //数字类型;视频/音频文件的总时长
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getFileDuration(
                     {
                        path : ''
                     },function(ret) {
                     if (ret)                                                alert(JSON.stringify(ret));
                     }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openFilterSelectView

打开滤镜选择视图。

openFilterSelectView({params})

params

y:

  • 类型:数字类型
  • 描述:(可选项)滤镜左上角的 y 坐标(相对于所属的 Window 或 Frame)
  • 默认:0

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)滤镜选择视图添加到指定窗口的名字
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认:true(不随之滚动)

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.openFilterSelectView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showFilterSelectView

显示滤镜选择视图。

showFilterSelectView()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.showFilterSelectView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hideFilterSelectView

隐藏滤镜选择视图。

hideFilterSelectView()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.hideFilterSelectView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeFilterSelectView

关闭滤镜选择视图。

closeFilterSelectView()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.closeFilterSelectView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getFilterInfo

获取滤镜信息。

getFilterInfo(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  FilterInfos : [                     //数组类型;滤镜信息数组
    {                                     //JSON对象;滤镜信息
        'name' : ''                     //字符串类型;滤镜名称
        'coverImagePath' : ''         //字符串类型;滤镜封面(android不支持)
        'colorImagePath' : ''        //字符串类型;滤镜图片
        'index' : 6                     //数字类型;滤镜索引
    }
  ]
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getFilterInfo(function(ret) {
                 if (ret) {
                         alert(JSON.stringify(ret));
                 }
              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addFilter

根据索引给摄像头预览视图设置滤镜。

addFilter({params})

params

index:

  • 类型:数字类型
  • 描述:(可选项)滤镜索引,(android不支持)
  • 默认:0

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.addFilter();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

configurationVideoEditor

配置视频编辑预览视图。

configurationVideoEditor({params})

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)播放器的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;视频编辑预览视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(可选项)数字类型;视频编辑预览视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 300,  //(可选项)数字类型;视频编辑预览视图的宽度;默认值:所属的 Window 或 Frame 的宽度
    h: 200   //(可选项)数字类型;视频编辑预览视图的高度;默认值:w的3/4
}

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)视频编辑预览视图添加到指定窗口的名字
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)视频编辑预览视图是否随所属 window 或 frame 滚动
  • 默认:true(不随之滚动)

videoSize:

  • 类型:JSON 对象
  • 描述:(可选项)编辑时的预览分辨率;(android不支持,可以设置填充模式来改变预览大小)
  • 默认值:原视频的分辨率
  • 内部字段:
{
    w: 0,   //数字类型;编辑时的预览分辨率的width
    h: 0,   //数字类型;编辑时的预览分辨率的height
}

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)播放文件的 timeRange 范围
  • 默认值:从开始到结束
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;播放时长,单位:秒;(android不支持,默认播放到结束)
}

loopEnabled:

  • 类型:布尔类型
  • 描述:(可选项)循环播放
  • 默认:false

path:

  • 类型:字符串类型
  • 描述:(可选项)视频文件的路径,要求本地路径(widget://、fs://)(android不支持widget)
  • 默认:调用configuration接口后录制的视频,若调用过scaleAsset接口,则为经过倍速处理后的视频

fileName:

  • 类型:字符串
  • 描述:(可选项)生成文件的名称,只是一个名称,不是路径,如果不写,模块随机生成一个,(ios不支持)
  • 默认值:随机生成

rateType:

  • 类型:数字类型
  • 描述:(可选项)设置编辑后生成视频的倍速;(ios不支持)
  • 默认是:1
  • 取值范围:
    • 0.25
    • 0.5
    • 1
    • 2
    • 4

fillMode:

  • 类型:字符串
  • 描述:(可选项)预览比例;(ios不支持)
  • 默认值:preserveAspectRatio
  • 取值范围:

    • 'stretch' : Stretch to fill the full view, which may distort the image outside of its normal aspect ratio;

    • 'preserveAspectRatio' : Maintains the aspect ratio of the source image, adding bars of the specified background color;

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.configurationVideoEditor({
                              rect : {
                                  x :  20,
                                  y : 550,
                                  w : 350,
                                     h : 170
                              }
                          });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startEditing

加载编辑信息,实时预览编辑效果。

startEditing()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.startEditing();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopEditing

停止实时预览编辑效果,效果上相当于暂停,调用startEditing可继续。

stopEditing()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.stopEditing();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showVideoEditor

显示视频编辑预览视图。

showVideoEditor()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.showVideoEditor();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hideVideoEditor

隐藏视频编辑预览视图。

hideVideoEditor()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.hideVideoEditor();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeVideoEditor

关闭视频编辑预览视图,若再次使用此功能需要重新调用configurationVideoEditor接口。

closeVideoEditor()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.closeVideoEditor();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVideoEditorRect

设置视频编辑预览视图的坐标。

setVideoEditorRect({params})

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)视频编辑预览视图的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;视频编辑预览视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:configurationVideoEditor中设置的x坐标
    y: 0,   //(可选项)数字类型;(可选项)视频编辑预览视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:configurationVideoEditor中设置的y坐标
    w: 300,  //(可选项)数字类型;视频编辑预览视图的宽度;默认值:configurationVideoEditor中设置的宽度
    h: 200   //(可选项)数字类型;视频编辑预览视图的高度;默认值:configurationVideoEditor中设置的高度
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setVideoEditorRect({
                            rect:{
                                    x: 0,
                                y: 0,
                                w: 300,
                                h: 200
                                 }
                              });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

editorFillMode

视频编辑预览视图的填充方式。(android不支持,填充模式在configurationVideoEditor设置)

editorFillMode({params})

params

fillMode:

  • 类型:字符串类型
  • 描述:(可选项)填充方式
  • 取值范围:

    'stretch' : Stretch to fill the full view, which may distort the image outside of its normal aspect ratio;

    'preserveAspectRatio' : Maintains the aspect ratio of the source image, adding bars of the specified background color;

    'preserveAspectRatioAndFill' : Maintains the aspect ratio of the source image, zooming in on its center to fill the view;(android不支持)

  • 默认:'preserveAspectRatio'

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.editorFillMode();

可用性

iOS系统

可提供的1.0.0及更高版本

setVideoSize

设置视频的预览分辨率。

setVideoSize({params})

params

videoSize:

  • 类型:JSON 对象
  • 描述:(可选项)视频的预览分辨率
  • 默认值:原视频的分辨率
  • 内部字段:
{
    w: 0,   //数字类型;视频的预览分辨率的width
    h: 0,   //数字类型;视频的预览分辨率的height
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setVideoSize();

可用性

iOS系统

可提供的1.0.0及更高版本

setVolume

视频编辑时设置原视频的音量。

setVolume({params})

params

volume:

  • 类型:数字类型
  • 描述:(可选项)音量
  • 默认值:0

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.setVolume();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getVolume

视频编辑时获取原视频的音量。

getVolume(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  volume :0                 //数字类型;音量
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getVolume(function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

editorSetWaterMark

视频编辑时开启水印。

editorSetWaterMark({params})

params

origin:

  • 类型:JSON 对象
  • 描述:(可选项)水印图片位置
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;水印图片位置左上角的 x 坐标(相对于视频编辑预览视图);默认值:0
    y: 0,   //(可选项)数字类型;水印图片位置左上角的 y 坐标(相对于视频编辑预览视图);默认值:0
}

path:

  • 类型:字符串类型
  • 描述:用于设置水印的图片路径,要求本地路径(widget://、fs://)
  • 默认:无

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.editorSetWaterMark({
                                 path : 'widget://res/qiniu_logo.png',
                                 origin : {
                                     x : 10,
                                     y : 10
                                 }
                              });

可用性

iOS系统

可提供的1.0.0及更高版本

editorClearWaterMark

视频编辑时移除水印。

editorClearWaterMark()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.editorClearWaterMark();

可用性

iOS系统

可提供的1.0.0及更高版本

addMusic

视频编辑时添加背景音乐。

addMusic({params})

params

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)播放文件的 timeRange 范围
  • 默认值:使用整段音乐
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;播放时长,单位:秒
}

musicPath:

  • 类型:字符串类型
  • 描述:音频文件的路径,要求本地路径(widget://、fs://)(android只支持fs)
  • 默认:无

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.addMusic({
                         musicPath : 'widget://res/haha.mp3',
                        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateMusic

视频编辑时更新背景音乐。

updateMusic({params})

params

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)播放文件的 timeRange 范围
  • 默认值:使用整段音乐
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;播放时长,单位:秒
}

volume:

  • 类型:数字类型
  • 描述:(可选项)音量
  • 默认值:不更新背景音乐的音量

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.updateMusic();

可用性

iOS系统

可提供的1.0.0及更高版本

getMusicVolume

视频编辑时获取背景音乐的音量。

getMusicVolume(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  musicVolume :0                 //数字类型;音量
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getMusicVolume(function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

addMVLayer

视频编辑时添加 MV 图层。

addMVLayer({params})

params

colorPath:

  • 类型:字符串类型
  • 描述:(可选项)彩色层视频的路径,要求本地路径(widget://、fs://)(android只支持fs)
  • 默认:当 colorPath 和 alphaPath 都不传时,表示移除 MV 图层

alphaPath:

  • 类型:字符串类型
  • 描述:(可选项)被彩色层当作透明层的视频的路径,要求本地路径(widget://、fs://)(android只支持fs)
  • 默认:当 colorPath 和 alphaPath 都不传时,表示移除 MV 图层

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.addMVLayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

editorAddFilter

视频编辑时添加滤镜。

editorAddFilter({params})

params

colorImagePath:

  • 类型:字符串类型
  • 描述:(可选项)当前使用的滤镜的颜色表图的路径,要求本地路径(widget://、fs://)(android只支持fs)
  • 默认:当不传时,表示移除滤镜

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.editorAddFilter();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

replaceCurrentAsset

视频编辑时替换当前编辑的视频。

replaceCurrentAsset({params})

params

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)视频的 timeRange 范围
  • 默认值:使用整段视频
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;播放时长,单位:秒
}

path:

  • 类型:字符串类型
  • 描述:视频文件的路径,要求本地路径(widget://、fs://)
  • 默认:无

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.replaceCurrentAsset({
                         path : 'widget://res/haha.mp4',
                        });

可用性

iOS系统

可提供的1.0.0及更高版本

saveVideo

保存编辑的视频。

saveVideo(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:保存回调
  • 内部字段:
status:true   //布尔类型;保存状态

filePath:''   //字符串类型;保存路径

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.saveVideo(function(ret){
    alert(JSON.stringify(ret));
});

可用性

android系统

可提供的1.0.0及更高版本

configurationReverserEffect

时光倒流初始化。

configurationReverserEffect({params})

params

path:

  • 类型:字符串类型
  • 描述:(可选项)视频文件的路径,要求本地路径(widget://、fs://)
  • 默认:调用configuration接口后录制的视频,若调用过scaleAsset接口,则为经过倍速处理后的视频

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.configurationReverserEffect();

可用性

iOS系统

可提供的1.0.0及更高版本

startReversing

执行时光倒流。

startReversing()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.startReversing();

可用性

iOS系统

可提供的1.0.0及更高版本

isReversing

是否处于执行时光倒流状态。

isReversing(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  isReversing : true                 //布尔类型;是否处于执行时光倒流状态
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.isReversing(function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

scaleAsset

倍速特效,并显示在实时预览编辑窗口上,必须调用过configurationVideoEditor接口。

scaleAsset({params},callback(ret))

params

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)倍数处理时间段
  • 默认值:需要倍速处理的整段视频
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;播放时长,单位:秒
}

path:

  • 类型:字符串类型
  • 描述:(可选项)视频文件的路径,要求本地路径(widget://、fs://)
  • 默认:调用configuration接口后录制的视频,若调用过scaleAsset接口,则为经过倍速处理后的视频

rateType:

  • 类型:字符串类型
  • 描述:(可选项)倍数处理的类型
  • 取值范围:

    'normal' : 1x;

    'slow' : 0.667x;

    'topSlow' : 0.5x;

    'fast' : 1.5x;

    'topFast' : 2x

  • 默认:'normal'

callback(ret)

当倍速特效完成并显示在实时预览编辑窗口结束,会来到此回调。此回调只有触发事件,没有回调参数

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.scaleAsset();

可用性

iOS系统

可提供的1.0.0及更高版本

assetExport

视频合成导出。(android不支持视频合成的功能,视频合成的功能由视频编辑接口来完成)

assetExport({params})

params

isExportMovieToPhotosAlbum:

  • 类型:布尔类型
  • 描述:(可选项)是否将视频导出到相册
  • 默认:false

outputFileType:

  • 类型:字符串类型
  • 描述:(可选项)视频导出的文件类型
  • 取值范围:

    'mp4' : .mp4;

    'mov' : .mov;

    'm4a' : .m4a

  • 默认:'mp4'

outputVideoSize:

  • 类型:JSON 对象
  • 描述:(可选项)视频导出的分辨率
  • 默认值:原视频的分辨率
  • 内部字段:
{
    w: 0,   //数字类型;视频导出的分辨率的width
    h: 0,   //数字类型;视频导出的分辨率的height
}

colorPath:

  • 类型:字符串类型
  • 描述:(可选项)彩色层视频的路径,要求本地路径(widget://、fs://)
  • 默认:不设置

alphaPath:

  • 类型:字符串类型
  • 描述:(可选项)被彩色层当作透明层的视频的路径,要求本地路径(widget://、fs://)
  • 默认:不设置

colorImagePath:

  • 类型:字符串类型
  • 描述:(可选项)当前使用的滤镜的颜色表图的路径,要求本地路径(widget://、fs://)
  • 默认:不设置

path:

  • 类型:字符串类型
  • 描述:(可选项)视频文件的路径,要求本地路径(widget://、fs://)
  • 默认:调用configuration接口后录制的视频

rateType:

  • 类型:字符串类型
  • 描述:(可选项)倍速特效,倍数处理的类型
  • 取值范围:

    'slow' : 0.667x;

    'topSlow' : 0.5x;

    'fast' : 1.5x;

    'topFast' : 2x

  • 默认:不设置

scaleTimeRange:

  • 类型:JSON 对象
  • 描述:(可选项)倍速特效,倍数处理时间段。设置rateType参数后此参数才有效
  • 默认值:整段视频
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;时长,单位:秒
}

movieSettings:

  • 类型:JSON 对象
  • 描述:(可选项)视频信息
  • 内部字段:
{
    startTime: 0,   //(可选项)数字类型;开始时间,单位:秒;默认值:0
    duration: 10,  //(可选项)数字类型;时长,单位:秒;默认值:整段视频
    volume: 1,  //(可选项)数字类型;音量大小;默认值:1
}

audioSettings:

  • 类型:JSON 对象
  • 描述:(可选项)背景音乐设置
  • 默认值:不设置
  • 内部字段:
{
     musicPath: '',   //(可选项)字符串类型;音乐文件的路径,要求本地路径(widget://、fs://);默认值:不传则不设置背景音乐,没有此字段则以下字段无效
    startTime: 0,   //(可选项)数字类型;开始时间,单位:秒;默认值:0
    duration: 10,  //(可选项)数字类型;时长,单位:秒;默认值:整段音乐时长
    volume: 1,  //(可选项)数字类型;音量大小;默认值:1
    name: '',   //(可选项)字符串类型;名称;默认值:''
 }

waterMarkSettings:

  • 类型:JSON 对象
  • 描述:(可选项)水印设置
  • 默认值:不设置
  • 内部字段:
{
     waterMarkPath: '',   //(可选项)字符串类型;水印图片的路径,要求本地路径(widget://、fs://);默认值:不传则不设置水印,没有此字段则以下字段无效
     size : {                    //(可选项)JSON 对象;水印大小;默认值:水印图片大小
    w: 0,   //(可选项)数字类型;水印的宽;默认值:水印图片的宽
    h: 0,   //(可选项)数字类型;水印的高;默认值:水印图片的高
    }
    point : {                    //(可选项)JSON 对象;水印位置;默认值:坐标原点
    x: 0,   //(可选项)数字类型;水印位置x坐标;默认值:0         y: 0,   //(可选项)数字类型;水印位置y坐标;默认值:0
    }
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.assetExport();

可用性

iOS系统

可提供的1.0.0及更高版本

cancelAssetExport

取消视频导出。(android不支持视频合成的功能,视频合成的功能由视频编辑接口来完成)

cancelAssetExport()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.cancelAssetExport();

可用性

iOS系统

可提供的1.0.0及更高版本

getAssetExportProgress

获取视频导出的进度。(android不支持视频合成的功能,视频合成的功能由视频编辑接口来完成)

getAssetExportProgress(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  progress : 0.5                 //数字类型;进度
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.getAssetExportProgress(function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

transcoder

视频转码。(android获取保存结果请添加transcoder监听)

transcoder({params})

params

path:

  • 类型:字符串类型
  • 描述:视频文件的路径,要求本地路径(widget://、fs://)(android只支持fs)
  • 默认:无

isExportMovieToPhotosAlbum:

  • 类型:布尔类型
  • 描述:(可选项)是否将视频导出到相册;(android不支持)
  • 默认:false

outputFileType:

  • 类型:字符串类型
  • 描述:(可选项)视频导出的文件类型;(android只支持mp4)
  • 取值范围:

    'mp4' : .mp4;

    'mov' : .mov;

    'm4a' : .m4a

  • 默认:'mp4'

outputFilePreset:

  • 类型:字符串类型
  • 描述:(可选项)转码后视频的质量;(android不支持)
  • 取值范围:

    'highest' : HighestQuality;

    'low' : LowQuality;

    'medium' : MediumQuality;

    '480' : 640x480;

    '540' : 960x540;

    '720' : 1280x720;

    '1080' : 1920x1080

  • 默认:'highest'

timeRange:

  • 类型:JSON 对象
  • 描述:(可选项)需要转码的视频时间段;(android不支持)
  • 默认值:视频的总时长
  • 内部字段:
{
    start: 0,   //数字类型;开始时间,单位:秒
    duration: 10,  //数字类型;时长,单位:秒
}

destSize:

  • 类型:JSON对象
  • 描述:(可选项)转码后的视频分辨率;(ios不支持)
  • 默认值:原视频分辨率
  • 内部字段:
{
    w: 0,   //数字类型;转码后的宽
    h: 10,  //数字类型;转码后的高
}

destBitrate:

  • 类型:数字类型
  • 描述:(可选项)视频转码后的码率;单位:Kbps;(ios不支持)
  • 默认值:1000
  • 取值范围:

    • 500
    • 800
    • 1000
    • 1200
    • 1600
    • 2000
    • 2500
    • 4000
    • 8000

fileName:

  • 类型:字符串
  • 描述:(可选项)生成文件的名称,只是一个名称,不是路径,如果不写,模块随机生成一个,(ios不支持)
  • 默认值:随机生成

reverse :

  • 类型:布尔类型
  • 描述:(可选项)是否进行时光倒流(视频倒置)(ios不支持)
  • 默认值:false

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.transcoder({
                                    path : ''
                                });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelTranscoding

取消转码流程。

cancelTranscoding()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.cancelTranscoding();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

transcodingProgress

获取视频转码的进度。(android不支持,获取进度请添加transcoder监听)

transcodingProgress(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
  progress : 0.5                 //数字类型;进度
 }

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.transcodingProgress(function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

movieCompose

多个视频拼接。

movieCompose({params})

params

paths:

  • 类型:数组类型
  • 描述:存放视频文件路径的数组,视频个数需要一个以上
  • 默认:无
  • 内部字段:
{
    paths : [
        '' ,   //字符串类型;视频文件的路径,要求本地路径(widget://、fs://);默认值:无(android不支持widget)
        '' ,
        ''   
    ]
}

isExportMovieToPhotosAlbum:

  • 类型:布尔类型
  • 描述:(可选项)是否将视频导出到相册(android不支持)
  • 默认:false

outputFileType:

  • 类型:字符串类型
  • 描述:(可选项)视频导出的文件类型;(android只支持mp4)
  • 取值范围:

    'mp4' : .mp4;

    'mov' : .mov;

    'm4a' : .m4a

  • 默认:'mp4'

videoSize:

  • 类型:JSON 对象
  • 描述:(可选项)拼接后视频的分辨率;(由于SDK的限制,android暂不支持自定义分辨率,开发者请从sizeLevel属性中选择分辨率)
  • 默认值:第1个视频的分辨率
  • 内部字段:
{
    w: 0,   //数字类型;分辨率的width
    h: 0,   //数字类型;分辨率的height
}

sizeLevel :

  • 类型:字符串
  • 描述:拼接后视频的分辨率;(ios不支持)
  • 默认值:480x480
  • 取值范围:

    • 240*240
    • 320*240
    • 352*352
    • 640*352
    • 360*360
    • 480*360
    • 640*360
    • 480*480
    • 640*480
    • 848*480
    • 544*544
    • 720*544
    • 720*720
    • 960*720
    • 1280*720
    • 1088*1088
    • 1440*1088

videoFrameRate:

  • 类型:数字类型
  • 描述:(可选项)拼接后视频数据的帧率
  • 默认:25

bitrate:

  • 类型:数字类型
  • 描述:(可选项)拼接后视频的码率
  • 默认:1024*1000 bps

fileName:

  • 类型:字符串
  • 描述:(可选项)生成文件的名称,只是一个名称,不是路径,如果不写,模块随机生成一个,(ios不支持)
  • 默认值:随机生成

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.movieCompose({
                                    paths : [
                                    '','',''
                                    ]
                                });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopComposing

停止视频拼接。

stopComposing()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.stopComposing();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

composeGif

视频帧/图片生成 GIF 动图。

composeGif({params})

params

images:

  • 类型:数组类型
  • 描述:存放图片路径的数组,图片个数需要2个或以上(android此字段可以存放视频路径,如果有多个只取第一个路径,只支持mp4类型的视频)
  • 默认:无
  • 内部字段:
{
    images : [
        '' ,   //字符串类型;图片的路径,要求本地路径(widget://、fs://);默认值:无
        '' ,
        ''   
    ]
}

gifName:

  • 类型:字符串类型
  • 描述:(可选项)Gif 的名称;
  • 默认:内部会自动生成一个唯一的名称

interval:

  • 类型:数字类型
  • 描述:(可选项)Gif 动图每帧间隔设置
  • 默认: 0.1f

isLoop

  • 类型:布尔类型
  • 描述:(可选项)gif是否循环;(ios不支持)
  • 默认值:true

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.composeGif({
                                    images : [
                                    '','',''
                                    ]
                                });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelComposeGif

取消合成 Gif 动图。

cancelComposeGif()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.cancelComposeGif();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

loadGif

展示 GIF 图。

loadGif({params})

params

images:

  • 类型:数组类型
  • 描述:存放图片路径的数组,图片个数需要2个或以上
  • 默认:无
  • 内部字段:
{
    images : [
        '' ,   //字符串类型;图片的路径,要求本地路径(widget://、fs://);默认值:无
        '' ,
        ''   
    ]
}

interval:

  • 类型:数字类型
  • 描述:(可选项)Gif 动图每帧间隔设置
  • 默认: 0.1f

rect:

  • 类型:JSON 对象
  • 描述:(可选项)Gif展示视图的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;Gif展示视图左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(可选项)数字类型;Gif展示视图左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 300,  //(可选项)数字类型;Gif展示视图的宽度;默认值:图片数组第一张图片的宽度
    h: 200   //(可选项)数字类型;Gif展示视图的高度;默认值:图片数组第一张图片的高度
}

repeatCount:

  • 类型:数字类型
  • 描述:(可选项)gif播放重复次数,0 为无限循环
  • 默认: 0

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)Gif展示视图添加到指定窗口的名字
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)Gif展示视图是否随所属 window 或 frame 滚动
  • 默认:true(不随之滚动)

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.loadGif({
                                    images : [
                                    '','',''
                                    ]
                                });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeGif

移除展示的 GIF 图。

removeGif()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.removeGif();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

viewRecorder

录屏。(由于七牛短视频sdk和引擎的原因,录屏功能android暂不支持)

viewRecorder({params},callback(ret))

params

maxDuration:

  • 类型:数字类型
  • 描述:(可选项)录屏的最大时长,单位为秒
  • 默认:120

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项) 录屏的窗口的名称
  • 默认:主窗口

videoFrameRate:

  • 类型:数字类型
  • 描述:(可选项)帧率
  • 默认:25

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:当达到设置的最大的时长,或者调用stopViewRecorder接口后,会来到这个回调
{
  filePath : ''                //字符串类型;录屏文件的路径
  totalDuration : ''        //数字类型;录屏总时长
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.viewRecorder((function(ret) 
                        {
                         if (ret)                                                alert(JSON.stringify(ret));
                         }
                      });

可用性

iOS系统

可提供的1.0.0及更高版本

stopViewRecorder

停止录屏。

stopViewRecorder()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.stopViewRecorder();

可用性

iOS系统

可提供的1.0.0及更高版本

uploadVideoFile

视频上传。

uploadVideoFile({params})

params

path:

  • 类型:字符串类型
  • 描述:视频文件的路径,要求本地路径(widget://、fs://)(android不支持widget)
  • 默认:无

token:

  • 类型:字符串类型
  • 描述:上传视频空间 token
  • 默认:无

videoKey:

  • 类型:字符串类型
  • 描述:(可选项)上传视频空间设置的 key
  • 默认:当前上传视频文件的 hash 值

https:

  • 类型:布尔类型
  • 描述:(可选项)上传视频空间是否需要设置为 https 上传, true 为 https 上传,false 为 http 上传
  • 默认:true

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.uploadVideoFile({
                                    path : '',
                                    token : ''
                                });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelUpload

取消上传。

cancelUpload()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.cancelUpload();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

添加监听。

addEventListener({params},callback(ret))

params

name:

  • 类型:字符串
  • 描述:监听的事件的名字
  • 取值范围:
    • videoRecord: 视频录制
    • reverserEffect: 时光倒流
    • assetExport: 视频合成
    • transcoder: 视频转码
    • movieCompose: 视频拼接
    • composeGif: 生成 GIF 动图
    • upload: 视频上传

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:当upload事件完成时,只有触发事件,没有回调参数
{
  eventType : 'startVideoRecord'             //字符串类型;视频录制事件;取值范围如下:
                  //startVideoRecord(开始录制)
                  //videoRecording(正在录制)(android不支持)
                  //deleteFile(删除了某一段视频,调用deleteLastFile会回调,调用deleteAllFiles不会回调)
                  //finishRecording(完成一段视频的录制,当达到设置的最大录制时间,或者调用stopRecording接口,(android在该事件中不支持totalDuration))
                 //maxDuration(在达到指定的视频录制时间后,如果再调用startRecording接口,会立即执行该回调。该回调功能是用于页面跳转,(android不支持此事件))

   filePath : ''             //字符串类型;录制的视频绝对路径;当eventType为startVideoRecord、videoRecording、deleteFile、finishRecording时返回;当reverserEffect、assetExport、transcoder、movieCompose、composeGif事件完成会返回这个字段

   fileDuration : 1         //数字类型;录制的视频段时长,单位:秒;当eventType为videoRecording、deleteFile、finishRecording时返回。当eventType为deleteFile时,返回的是删除的视频段的时长

   totalDuration : 6     //数字类型;录制的视频(从调用configuration接口之后录制的视频)的总时长,单位:秒;(android单位是毫秒) 当eventType为videoRecording、deleteFile、finishRecording、maxDuration时返回。当eventType为deleteFile时,返回的是删除视频后剩余视频的总时长

   errorMsg : ''             //字符串类型;错误信息;当reverserEffect、assetExport、transcoder、movieCompose、composeGif、upload事件执行发生错误时返回这个字段

   progress : 0.6     //数字类型;进度;可以监听reverserEffect、assetExport、transcoder、movieCompose、upload事件的进度
}

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.addEventListener(
                        {
                         name : 'assetExport',
                     },function(ret) {
                         if (ret) {
                             alert(JSON.stringify(ret));
                        }
                 });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeEventListener

移除监听。

removeEventListener({params})

params

name:

  • 类型:字符串
  • 描述:监听的事件的名称
  • 取值范围:
    • videoRecord: 视频录制
    • reverserEffect: 时光倒流
    • assetExport: 视频合成
    • transcoder: 视频转码
    • movieCompose: 视频拼接
    • composeGif: 生成 GIF 动图
    • upload: 视频上传

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.removeEventListener(
                        {
                         name : 'assetExport',
                     });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearCache

清除保存在本地的所有视频文件。(android只是清除本模块生成的视频文件,生成的视频文件都保存在sd卡根目录下面的ShortVideo文件夹中)

clearCache()

示例代码

var qiniuShortVideo = api.require('qiniuShortVideo');
qiniuShortVideo.clearCache();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本