alphaPlayer实现了直播中台使用的一个视频动画特效SDK,可以通过制作Alpha通道分离的视频素材,再在客户端上通过OpenGL ES重新实现Alpha通道和RGB通道的混合,从而实现在端上播放带透明通道的视频。
这套方案对设计师而言明显降低了特效的制作成本,对于客户端而言有着更可靠的性能和稳定性,且相比cocos2d引擎有着更低的入门门槛和维护成本,为复杂动画的实现提供了一种全新的方式,新的复杂动画开发将会变得更加简单高效。
播放透明视频
playVideo({params},callback(ret, err))
rect:
{
x:0, //左上角x坐标,默认0
y:0, //左上角y坐标,默认0
w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
marginLeft:0, //相对父页面左外边距的距离,默认0
marginTop:0, //相对父页面上外边距的距离,默认0
marginBottom:0, //相对父页面下外边距的距离,默认0
marginRight:0 //相对父页面右外边距的距离,默认0
}
fixedOn:
fixed:
sourcePath:
->config.json
{
"portrait": {
"align": 2,
"path": "heartbeats.mp4",
},
"landscape": {
"path": "heartbeats.mp4",
"align": 8
}
}
->heartbeats.mp4
ret:
{
status: true, //布尔型;true||false
evenType: 'onStart'// onStart onFinish
}
err:
{
msg: ""
}
var demo = api.require('alphaPlayer');
demo.playVideo({
rect:{x:0 y:0 w:100 h:100},
sourcePath: 'fs://heartbeats'
}, function(ret, err){
alert(JSON.stringify(ret));
});
iOS、Android系统
可提供的1.0.0及更高版本
停止视频播放
stopVideo(callback(ret, err))
ret:
{
status: true, //布尔型;true||false
}
err:
{
msg: ""
}
var demo = api.require('alphaPlayer');
demo.stopVideo(function(ret, err) {
alert(JSON.stringify(ret));
});
iOS、Android系统
可提供的1.0.0及更高版本