douYinSlidePlayer插件用AVPlayer封装在iOS、Ijkplayer在Android下仿抖音带UI界面的上下滑动播放视频功能。增加了预缓存功能,可以减少视频滑动时播放停顿的感觉。同时界面上集成了全屏播放按钮功能,可以全屏和滑动播放无缝切换播放。
打开滑动播放器
openPlayer({params}, callback(ret,err))
rect:
{
x: 0, //(必填项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(必填项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(必填项)数字类型;插件的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 250 //(必填项)数字类型;插件的高度;默认值:所属的 Window 或 Frame 的高度
}
fixedOn:
fixed:
videos:
{
vid : new Date().getTime()+0,
videoUrl : 'http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4',//视频url地址
authorHeadUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//作者头像,默认插件中的头像
isFollowed:false,//是否已经关注,默认false
authorNameFormatStr:"宇妈艺博",//作者名字
isLike:false,//是否已经点赞,默认false
likeCount:"2.5w",//点赞数量,字符串类型,默认""
commonCount:"5695",//评论数量,字符串类型,默认""
shareCount:"3.8w",//分享数量,字符串类型,默认""
musicImgUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//音乐动画区域内部的图片地址、支持http、https格式,一般设置成作者头像,即与authorHeadUrl的值相同。
videoTitle:"你好 重新认识一下 我姓 #宦 @身高162 体重90 #性格阳光开朗 15687985462 唯独对你迷茫(太久没玩抖音的人非主流独白)",//视频标题区域的文字
marqueeText:"@宇妈艺博创作的原声 宇妈艺博创作的原声 宇妈艺博创作的原声",//跑马灯区域的文字,注意这里的文字要超过一行才能有文字从左到右的动画产生。
previewImg :'http://p9-dy.byteimg.com/large/tos-cn-p-0015/0dab3107ddf64793b8329fecdb3945c6_1575388895.jpeg?from=2563711402_large',//视频缩略图,仅支持http格式
videoScaleType_i : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:ZFPlayerScalingModeNone ;1:ZFPlayerScalingModeAspectFit ; 2:ZFPlayerScalingModeAspectFill ; 3:ZFPlayerScalingModeFill
videoScaleType_a : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:SCREEN_SCALE_DEFAULT ;1:SCREEN_SCALE_16_9 ; 2:SCREEN_SCALE_4_3 ; 3:SCREEN_SCALE_MATCH_PARENT ; 4:SCREEN_SCALE_ORIGINAL ; 5:SCREEN_SCALE_CENTER_CROP
goods : {
img : '',
title : ''
},
footlist : {
img : '',
title : ''
}
}
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.openPlayer({
rect : {
x : 0,
y : 150,
h : 400
},
videos : [{....}],
},function(ret, err){
alert(JSON.stringify(ret)+" "+JSON.stringify(err));
});
iOS、Android系统
可提供的1.0.0及更高版本
设置播放器的事件监听,需要在openPlayer回调成功后调用。
addEventListener(callback(ret))
ret:
{
status: true, //布尔型;true||false
event : ''//事件名称
"onGoodsClick",
"onFootListClick",
"onDoubleTap",//视频双击事件
"onSingleTapConfirmed",//视频单击事件
"onHeadClick",//头像点击事件
"onFollowBtnClick",//关注按钮点击事件
"onLikeBtnClick",//点赞按钮点击事件
"onCommonBtnClick",//评论按钮点击事件
"onShareBtnClick",//分享按钮点击事件
"onMusicBtnClick",//音乐动画区域点击事件
"onAuthorNameClick",//作者名字区域点击事件
"onVideoTitleClick",//视频标题区域点击事件
"onMarqueeTextClick",//跑马灯文字区域点击事件
"onBackBtnClick",//返回按钮点击事件
"onPageSelected",//页面上下滑动切换事件,这个事件可以获取当前页的index
"curPage":0,//发生事件时的当前页
"itemData":{...}//JSON对象数据,事件发生时的视频数据
"isFullScreen":true,//全屏切换时有改值,是全屏还是竖屏
"isLike":true,//点赞按钮点击事件发生时有该值,是点赞还是取消点赞
"isFollowed":true,//关注按钮点击事件发生时有该值
"autoLinkMode":"",//视频标题区域点击事件发生时有该值
"Hashtag"//点击话题事件,即点击了以“#”开头的文字,文字内容为matchedText返回的内容
"Mention"//点击"@"事件,即点击了以“@”开头的文字,文字内容为matchedText返回的内容
"Url"//点击http网址事件,即点击了以“http”开头的文字,文字内容为matchedText返回的内容
"Phone"//点击电话号码事件,电话号码为matchedText返回的内容
"Email"//点击电子邮箱事件,电子邮箱为matchedText返回的内容
"matchedText":"",//视频标题区域点击事件发生时有该值,见autoLinkMode参数说明。
}
var demo = api.require('douYinSlidePlayer');
demo.addEventListener(function(ret, err){
alert(JSON.stringify(ret));
});
iOS、Android系统
可提供的1.0.0及更高版本
# **hidePlayer**隐藏滑动播放器
hidePlayer(callback(ret, err))
ret:
{
status: true, //布尔型;true||false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.hidePlayer();
iOS、Android系统
可提供的1.0.0及更高版本
显示滑动播放器
showPlayer(callback(ret))
ret:
{
status: true, //布尔型;true
}
var demo = api.require('douYinSlidePlayer');
demo.showPlayer();
iOS、Android系统
可提供的1.0.0及更高版本
关闭滑动播放器
closePlayer(callback(ret, err))
ret:
{
status: true, //布尔型;true||false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.closePlayer();
iOS、Android系统
可提供的1.0.0及更高版本
重置播放器数据
setVideoDatas({params}, callback(ret,err))
videos:
{
vid : new Date().getTime()+0,
videoUrl : 'http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4',//视频url地址
authorHeadUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//作者头像,默认插件中的头像
isFollowed:false,//是否已经关注,默认false
authorNameFormatStr:"宇妈艺博",//作者名字
isLike:false,//是否已经点赞,默认false
likeCount:"2.5w",//点赞数量,字符串类型,默认""
commonCount:"5695",//评论数量,字符串类型,默认""
shareCount:"3.8w",//分享数量,字符串类型,默认""
musicImgUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//音乐动画区域内部的图片地址、支持http、https格式,一般设置成作者头像,即与authorHeadUrl的值相同。
videoTitle:"你好 重新认识一下 我姓 #宦 @身高162 体重90 #性格阳光开朗 15687985462 唯独对你迷茫(太久没玩抖音的人非主流独白)",//视频标题区域的文字
marqueeText:"@宇妈艺博创作的原声 宇妈艺博创作的原声 宇妈艺博创作的原声",//跑马灯区域的文字,注意这里的文字要超过一行才能有文字从左到右的动画产生。
previewImg :'http://p9-dy.byteimg.com/large/tos-cn-p-0015/0dab3107ddf64793b8329fecdb3945c6_1575388895.jpeg?from=2563711402_large',//视频缩略图,仅支持http格式
videoScaleType_i : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:ZFPlayerScalingModeNone ;1:ZFPlayerScalingModeAspectFit ; 2:ZFPlayerScalingModeAspectFill ; 3:ZFPlayerScalingModeFill
videoScaleType_a : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:SCREEN_SCALE_DEFAULT ;1:SCREEN_SCALE_16_9 ; 2:SCREEN_SCALE_4_3 ; 3:SCREEN_SCALE_MATCH_PARENT ; 4:SCREEN_SCALE_ORIGINAL ; 5:SCREEN_SCALE_CENTER_CROP
goods : {
img : '',
title : ''
},
footlist : {
img : '',
title : ''
}
}
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.setVideoDatas({
videos : [{...}]
},function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
添加分页数据
addVideoDatas({params}, callback(ret,err))
videos:
{
vid : new Date().getTime()+0,
videoUrl : 'http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4',//视频url地址
authorHeadUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//作者头像,默认插件中的头像
isFollowed:false,//是否已经关注,默认false
authorNameFormatStr:"宇妈艺博",//作者名字
isLike:false,//是否已经点赞,默认false
likeCount:"2.5w",//点赞数量,字符串类型,默认""
commonCount:"5695",//评论数量,字符串类型,默认""
shareCount:"3.8w",//分享数量,字符串类型,默认""
musicImgUrl:"https://p9-dy.byteimg.com/aweme/100x100/2414900010229a84b01eb.jpeg",//音乐动画区域内部的图片地址、支持http、https格式,一般设置成作者头像,即与authorHeadUrl的值相同。
videoTitle:"你好 重新认识一下 我姓 #宦 @身高162 体重90 #性格阳光开朗 15687985462 唯独对你迷茫(太久没玩抖音的人非主流独白)",//视频标题区域的文字
marqueeText:"@宇妈艺博创作的原声 宇妈艺博创作的原声 宇妈艺博创作的原声",//跑马灯区域的文字,注意这里的文字要超过一行才能有文字从左到右的动画产生。
previewImg :'http://p9-dy.byteimg.com/large/tos-cn-p-0015/0dab3107ddf64793b8329fecdb3945c6_1575388895.jpeg?from=2563711402_large',//视频缩略图,仅支持http格式
videoScaleType_i : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:ZFPlayerScalingModeNone ;1:ZFPlayerScalingModeAspectFit ; 2:ZFPlayerScalingModeAspectFill ; 3:ZFPlayerScalingModeFill
videoScaleType_a : 0,//数字型,取值范围0到5,默认0,该值用于设置视频的宽高显示模式。0:SCREEN_SCALE_DEFAULT ;1:SCREEN_SCALE_16_9 ; 2:SCREEN_SCALE_4_3 ; 3:SCREEN_SCALE_MATCH_PARENT ; 4:SCREEN_SCALE_ORIGINAL ; 5:SCREEN_SCALE_CENTER_CROP
goods : {
img : '',
title : ''
},
footlist : {
img : '',
title : ''
}
}
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.addVideoDatas({
videos : [{...}]
},function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
根据ID删除播放数据
delVideoByIndex({params},callback(ret,err))
index:
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.delVideoByIndex();
iOS、Android系统
可提供的1.0.0及更高版本
设置当前页的点赞数量。
setLikeCount({params},callback(ret,err))
likeCountStr:
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.setLikeCount({
likeCountStr : '111W'
},function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
设置当前页的评论数量。
setCommonCount({params},callback(ret,err))
commonCountStr:
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.setCommonCount({
commonCountStr : '111W'
},function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
设置当前页的分享数量。
setShareCount({params},callback(ret,err))
shareCountStr:
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.setShareCount({
shareCountStr : '111W'
},function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
播放已暂停的视频。
play(callback(ret,err))
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.play();
iOS、Android系统
可提供的1.0.0及更高版本
暂停已播放的视频。
pause(callback(ret,err))
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.pause();
iOS、Android系统
可提供的1.0.0及更高版本
清楚播放器缓存数据。
clearCache(callback(ret,err))
ret:
{
status: true, //布尔型;true|false
cacheSize : 0,
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.clearCache(function(ret,err){
alert(JSON.stringify(ret,err));
});
iOS、Android系统
可提供的1.0.0及更高版本
播放下一个视频。
playNext(callback(ret,err))
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.playNext();
iOS、Android系统
可提供的1.0.0及更高版本
播放上一个视频。
playPrevious(callback(ret,err))
ret:
{
status: true, //布尔型;true|false
}
err:
{
msg : ''
}
var demo = api.require('douYinSlidePlayer');
demo.playPrevious();
iOS、Android系统
可提供的1.0.0及更高版本