1、playModuleAli 封装了阿里视频播放器功能。使用本插件时可把本插件当做一个 frame 添加在 window 或 frame 上。
2、使用有ui方案播放器,可以通过左右滑动调节视频进度,左边上下滑动调节音量,右边上下滑动调节亮度。
Android:4.4及以上 iOS:8.0及以上
1、Info.plist配置信息如下,放在res目录下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AlivcLicenseKey</key>
<string>Wo8stiG49mZsBReN8a089ddc9989f41b79fa729cbffef****</string>
</dict>
</plist>
2、config.xml配置Android授权信息如下:
<meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="Wo8stiG49mZsBReN8a089ddc9989f41b79fa729cbffef****" />
初始化视频播放配置
init({params}, callback(ret, err))
ttf:
logo:
background:
FullScreenViewIsFont:
isShowBottomBtn:
isMultiWindow:
loading:
logoLeftTop:
logoLeftBottom:
logoRightBottom:
var playModule = api.require('playModuleAli');
playModule.init({
ttf: "widget://res/UKIJTor.ttf",
logo:"widget://res/cklogo.png",
});
Android、iOS系统
可提供的1.0.0及更高版本
播放本地视频、网络视频、rtmp直播流等
play({params}, callback(ret, err))
rect:
{
x: 0, //(必填项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(必填项)数字类型;插件的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 250 //(必填项)数字类型;插件的高度;默认值:250
}
fixedOn:
fixed:
url:
title:
defaultBtn:
enableFull:
enableFullAutoClose:
isTopView:
isFullBtn:
isBackBtn:
scalingMode:
fullscreenMode:
isShowProcessView:
isShowTimeLable:
isLive:
isSmallOpenGesture:
isOpenGesture:
process:
isAutoPlay:
isPlayMusic:
isLoop:
urlDatas:
[{
name: '', //(必填项)清晰度名称
url: '', //(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、http://
}]
isSmallShowQxd:
isMute:
isShowDanmu:
isLocalCache:
isShowFenxiang:
isShowMore:
isShowTouping:
isShowXuanji:
isShowNext:
isShowPre:
isSmallImmerse:
isLongShowBackBtn:
isSmallShowFenxiang:
isSmallShowMore:
isSmallShowTouping:
isOpenDanmu:
singlePageModule:
isShowNetworkSpeed:
background:
placeholderText:
isShowLock:
freeProcess:
ret:
{
status: true, //布尔型;true||false
index : 0, //播放器序号
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.play({
rect:
{ x: 0,
y : 0,
w : 320,
h: 250
},
fixedOn: api.frameName,
title: 'test',
url: 'http://resource.apicloud.com/video/apicloud3.mp4',
defaultBtn: true,
enableFull : false,
isTopView : false
}, function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
同一个页面,已经调用play接口后,切换视频地址时调用(前提条件,同一界面已经调用过play接口)。
playUrl({params}, callback(ret, err))
index:
url:
title:
defaultBtn:
isLive:
isSmallOpenGesture:
isOpenGesture:
process:
isAutoPlay:
isLoop:
isShowProcessView:
isShowTimeLable:
urlDatas:
[{
name: '', //(必填项)清晰度名称
url: '', //(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、http://
}]
isSmallShowQxd:
isMute:
isShowDanmu:
isLocalCache:
isShowFenxiang:
isShowMore:
isShowTouping:
isShowXuanji:
isShowNext:
isShowPre:
isSmallImmerse:
isLongShowBackBtn:
isSmallShowFenxiang:
isSmallShowMore:
isSmallShowTouping:
isOpenDanmu:
isShowNetworkSpeed:
freeProcess:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.playUrl({
title: 'test',
url: 'http://resource.apicloud.com/video/apicloud3.mp4',
defaultBtn: true
}, function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
暂停播放
pause({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.pause(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
暂停后开始播放
start({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.start(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
停止播放
stop({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.stop(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
获取视频的时长
getDuration({params}, callback(ret, err))
index:
ret:
{
status: true, //布尔型;true||false
duration : 1221122//视频的总时长
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.getDuration(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
获取已经播放的时长
getCurrentPosition({params}, callback(ret, err))
index:
ret:
{
status: true, //布尔型;true||false
currentPosition : 2221//已经播放的时长
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.getCurrentPosition(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
全屏播放
full({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.full(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
退出全屏
unfull({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.unfull(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
iOS、Android系统
可提供的1.0.0及更高版本
视频播放完监听事件
addEventListener({params}, callback(ret, err))
name:
ret:
{
status: true, //布尔型;true
index : 0, //播放器序号
key : 0,//返回选择清晰度数组中序号
currentPosition : 0,//返回当前选择清晰度时已经播放时长
isOpenDanmu : true //当前弹幕是开或者关
}
var obj = api.require('playModuleAli');
obj.addEventListener({
name: 'playEnd'
}, function(ret, err) {
console.log("addEventListener>>>>" + JSON.stringify(ret));
});
iOS、Android系统
可提供的1.0.0及更高版本
获取是否全屏播放状态
isFullScreen({params}, callback(ret, err))
index:
ret:
{
status: true|false //布尔型;true:全屏 false:窗口
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.isFullScreen(function(ret, err) {
console.log("addEventListener>>>>" + JSON.stringify(ret));
});
iOS、Android系统
可提供的1.0.0及更高版本
设置播放进度位置(请根据视频最大时长进行参数控制传入)
seekTo({params}, callback(ret, err))
index:
process:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.seekTo({
process : 402334
},function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
设置播音量
setVolume({params}, callback(ret, err))
index:
volume:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.setVolume({
volume : 50
},function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
隐藏播放器
hidePlayer({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.hidePlayer(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
显示播放器
showPlayer({params}, callback(ret, err))
index:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.showPlayer(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
倍速播放
setSpeed({params}, callback(ret, err))
index:
speed:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var playModule = api.require('playModuleAli');
playModule.setSpeed({
speed : 1.9
},function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
清除页面所有打开的播放器接口(执行该接口后,返回index会归零)
cleanPlayers(callback(ret))
ret:
{
status: true //布尔型;true
}
var playModule = api.require('playModuleAli');
playModule.cleanPlayers(function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android、iOS系统
可提供的1.0.0及更高版本
更新清晰度选择列表地址(必须和play或者playUrl接口传的数组长度一致)。
updateUrlDatas({params}, callback(ret, err))
index:
urlDatas:
[{
name: '', //(必填项)清晰度名称
url: '', //(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、http://
}]
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.updateUrlDatas({
urlDatas : [{
name : '标清',
url : 'http://www.nanchong.gov.cn/video/c21.flv'
},{
name : '高清',
url : 'http://www.nanchong.gov.cn/video/c22.flv',
},{
name : '普通',
url : 'http://www.nanchong.gov.cn/video/c23.flv',
}],
}, function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
发送一条弹幕信息
sendDanmu({params}, callback(ret, err))
index:
text:
color:
textSize:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var demo = api.require('playModuleAli');
demo.sendDanmu({
text : '测试2测试2测试2测试2',
color : '#FF7F24'
},function(ret,err){
});
iOS、Android系统
可提供的1.0.0及更高版本
发送多条弹幕信息。
sendDanmuList({params}, callback(ret, err))
index:
isLoop:
data:
[{
text: '', //(必填项)弹幕文字内容
color: '', //(可选项)弹幕文字显示颜色代码[默认值:#FFFAFA]
textSize: 12 //(可选项)弹幕文字大小
}]
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.sendDanmuList({
data : [{
text : '测试1',
color : '#FF7F24'
},{
text : '测试2测试2测试2测试2',
color : '#FF7F24'
}],
}, function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
静音开关切换
setMute({params}, callback(ret, err))
index:
isMute:
ret:
{
status: true //布尔型;true||false
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.setMute({
isMute : true
}, function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
截图
takeSnapshot({params}, callback(ret, err))
index:
ret:
{
status: true, //布尔型;true||false
path : '' //图片路径
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.takeSnapshot(function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本
获取当前播放速率
getCurrentSpeed({params},callback(ret, err))
index:
ret:
{
status: true, //布尔型;true||false
currentSpeed : '' //播放速率
}
err:
{
msg: ""
}
var obj = api.require('playModuleAli');
obj.getCurrentSpeed(function(ret, err) {
});
iOS、Android系统
可提供的1.0.0及更高版本