视频播放插件
封装视频播放和录制相关操作. 视频播放时可实现指定播放进度及播放关闭后回调返回播放进度,支持本地路径和网络地址(支持所有H264编码的常见格式);视频插件可实现自定义录制时间功能,录制后能压缩,Android 平台上支持的的视频文件格式有:MP4、3gp;IOS 平台上支持的视频文件格式有:MOV,MP4,M4V.
插件测试用例与源码下载:点击 插件中心至插件详情页 (插件测试用例与插件源码已经提供)
本插件的所有API默认支持Android4.0+和iOS7.0+操作系统.
有特殊版本要求的API会在文档中额外说明.
本插件所有API默认在插件版本4.0.0+可用.
在后续版本中新添加的接口会在文档中额外说明.
openPlayer //打开视频播放器
uexVideo.openPlayer(param)
说明:
打开视频播放器,查看视频播放状态触发onPlayerStatusChange 在播放器被关闭时会触发监听onPlayerClose
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
param | JSON字符串 | 是 | 接口所需数据,形式见下: |
var param = {
src:,
startTime:,
autoStart:,
forceFullScreen:,
showCloseButton:,
showScaleButton:,
width:,
height:,
x:,
y:,
scrollWithWeb:
}
各字段含义如下:
字段名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
src | String | 是 | 播放文件路径. 支持本地路径wgt://,res://,file://和网络路径http://,https:// |
startTime | Number | 否 | 视频开始播放时间,单位为s(秒).默认为0. |
endTime | Number | 否 | 视频结束播放时间,单位为s(秒).默认为0.可以用于试看等功能,回调onPlayerEndTime |
autoStart | Boolean | 否 | 是否自动开始.默认为false. |
forceFullScreen | Boolean | 否 | 是否强制全屏,详见下方说明.默认为false. |
showCloseButton | Boolean | 否 | 是否显示关闭按钮,用户可以通过点击此按钮关闭播放器.默认为false. |
showScaleButton | Boolean | 否 | 是否显示缩放按钮,用户可以通过点击此按钮切换全屏/非全屏模式.默认为true. |
width | Number | 否 | 播放器宽度,单位px.默认为屏幕宽度. |
height | Number | 否 | 播放器高度,单位px.默认为屏幕高度. |
x | Number | 否 | 播放器左边距,单位px.默认为0. |
y | Number | 否 | 播放器上边距,单位px.默认为0. |
scrollWithWeb | Boolean | 否 | 普通状态下播放器是否跟随网页滑动.默认为true. |
isAutoEndFullScreen | Boolean | 否 | 全屏状态下播放完成后是否自动切换为正常状态,默认false,forceFullScreen参数为false时生效 |
示例:
var param = {
src:"res://1.mp4",
startTime:3,
autoStart:true,
forceFullScreen:false,
showCloseButton:false,
showScaleButton:true,
width:320,
height:240,
x:10,
y:400,
scrollWithWeb:true,
}
uexVideo.openPlayer(JSON.stringify(param))
closePlayer //关闭视频播放器
uexVideo.closePlayer()
说明:
关闭视频播放器,此操作会触发onPlayerClosed 播放器被关闭时的监听方法
参数:
无
示例:
uexVideo.closePlayer();
record //打开视频录制界面
uexVideo.record(params)
说明:
打开视频录制界面,监听方法 onRecordFinish
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
params | JSON字符串 | 是 | 接口所需数据,形式见下: |
var param = {
maxDuration:,
qualityType:,
bitRateType:,
fileType:
}
各字段含义如下:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
maxDuration | Number | 否 | 视频录制最大时间,单位s(秒) |
qualityType | Number | 否 | 视频分辨率类型,取值为0,1,2,默认为0.0:1920x1080, 1:1280x720, 2:640x480 |
bitRateType | Number | 否 | 视频录制时采样率类型,取值为0, 1, 2, 默认为0, 0: 高采样率, 1: 中采样率, 2: 低采样率 |
fileType | String | 否 | 输出的视频文件格式,默认为mp4.Android 平台上支持的的视频文件格式有:mp4 、3gp ; IOS支持的压缩视频文件格式有:mp4 ,mov |
示例:
var params = {
maxDuration:15,
qualityType:1,
bitRateType:2,
fileType:"mp4"
}
uexVideo.record(JSON.stringify(params));
videoPicker //打开视频选择界面
uexVideo.videoPicker()
说明:
打开视频选择界面,监听方法 onVideoPickerClosed
参数:
参数名称 | 参数类型 | 是否必选 | 说明 |
---|---|---|---|
无 | - | - | - |
示例:
uexVideo.videoPicker();
onPlayerClose //播放器被关闭时的监听方法
uexVideo.onPlayerClose(info)
参数:
info是JSON字符串
var info = {
src:,
currentTime:
}
各字段含义如下:
字段名称 | 类型 | 说明 |
---|---|---|
src | String | 视频文件路径 |
currentTime | Number | 被关闭时视频正在播放的时间. |
示例
window.uexOnload = function(){
uexVideo.onPlayerClose = function(info){
alert(info);
};
}
onPlayerStatusChange //播放器状态改变的监听方法
uexVideo.onPlayerStatusChange(info)
参数:
param 是JSON字符串
var info = {
status:
}
字段名称 | 类型 | 说明 |
---|---|---|
status | Number | 播放器状态 0-暂停中 1-缓冲中 2-播放中 3-发生错误. |
示例
window.uexOnload = function(){
uexVideo.onPlayerStatusChange = function(info){
alert(info);
};
}
onRecordFinish //录制结束的监听方法
uexVideo.onRecordFinish(info)
参数:
param 是JSON字符串
var info = {
result:,
path:
}
字段名称 | 类型 | 说明 |
---|---|---|
result | Number | 录制结果. 0-录制成功 1-用户取消录制 2-视频录制或者压缩过程发送错误 |
path | String | 仅录制成功时才会有此参数,录制压缩得到的视频文件路径 |
示例
window.uexOnload = function(){
uexVideo.onRecordFinish = function(info){
alert("onRecordFinish:" + info);
};
}
onExportWithProgress //视频压缩进度的监听方法(仅iOS)
此接口仅限iOS,可以用于等待压缩时的UI展示.
uexVideo.onExportWithProgress(progress)
参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
progress | Number | 压缩进度值,取值范围为0~1 |
平台支持:
iOS7.0+
示例:
uexVideo.onExportWithProgress = function(progress){
console.log(progress);
}
onPlayerFinish //播放完成后的监听方法
uexVideo.onPlayerFinish()
参数:
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
无 | - | - | - |
系统支持
版本支持:
示例
window.uexOnload = function(){
uexVideo.onPlayerFinish = function() {
alert("video completed!");
};
}
onPlayerEndTime //视频播放到endTime 的监听
uexVideo.onPlayerEndTime()
参数:
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
无 | - | - | - |
系统支持
版本支持:
示例
window.uexOnload = function(){
uexVideo.onPlayerEndTime = function(){
}
}
onVideoPickerClosed //选择视频结束的回调方法
uexVideo.onVideoPickerClosed(data)
参数:
data 是 JSON Object
var data = {
data:[
{
src :,
}
...
]
isCancelled:,
}
字段名称 | 类型 | 说明 |
---|---|---|
data | Array | 选择结果 |
src | String | 选择视频的本地绝对路径 |
isCancelled | boolean | 是否为取消选择,取消为true,其他为false |
示例
window.uexOnload = function(){
uexVideo.onVideoPickerClosed = function(data){
alert("onVideoPickerClosed:" + JSON.stringify(data));
};
}
API版本: uexVideo-4.1.5
最近更新时间:2017-06-21
历史发布版本 | 更新内容 |
---|---|
4.1.5 | openPlayer接口新增isAutoEndFullScreen参数 |
4.0.3 | 更新RAC依赖库支持endTime |
4.0.2 | 添加1x的图片资源;增大关闭按钮的感应区域;解决在部分旧型号设备上图标不显示的问题 |
4.0.1 | 修正视频播放画面显示不全、竖屏跳转横屏会卡在原位置的问题 |
API版本: uexVideo-4.0.8
最近更新时间:2017-10-16
历史发布版本 | 更新内容 |
---|---|
4.0.8 | 修复录制及播放问题 |
4.0.7 | 新增videoPicker接口及相关回调 |
4.0.6 | 视频全屏播放时显示为横屏,openPlayer接口新增isAutoEndFullScreen参数 |
4.0.4 | 宽高支持传小数 |
4.0.3 | 支持endTime |
4.0.2 | 录制界面UI改版 |
4.0.1 | 添加播放完毕后的监听 |