baiduPlayer
来自于:开发者立即使用
setAccessKey init play playUrl pause start stop getDuration getCurrentPosition full unfull addEventListener isFullScreen seekTo setVolume hidePlayer showPlayer
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
1、用户在使用SDK之前需要获取百度云Access Key, 参考 安全认证页面 获取AK,如果未登录会提示登录。
2、baiduPlayer 封装了百度视频云视频播放器功能。使用本模块时可把本模块当做一个 frame 添加在 window 或 frame 上。百度云播放器突破 Android、iOS 平台对视频格式的限制,支持目前所有主流的媒体格式(mp4、avi、wmv、flv、mkv、mov、 rmvb 等)。
3、使用有ui方案播放器,可以通过左右滑动调节视频进度,左边上下滑动调节音量,右边上下滑动调节亮度。
模块效果图
固件要求
Android:4.0.3及以上 iOS:8.0及以上
模块接口
setAccessKey
设置AccessKey(必须调用,否则会出现闪退)
setAccessKey({params}, callback(ret, err))
params
accessKey:
- 类型:字符串
- 描述:(必填项)百度云AccessKey
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON对象
- 内部字段:
{
msg: ""
}
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.setAccessKey({
accessKey: "5586c18e460986bf749c11371bdbfc18"
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本
init
初始化视频播放配置
init({params}, callback(ret, err))
params
ttf:
- 类型:字符串
- 描述:(可选项)设置标题显示文字字体文件路径,仅支持widget://
fullBtnPlan:
- 类型:数字型
- 描述:(可选项)全屏默认按钮方案;1:不包含下面2的按钮,2:包含清晰度,选集,下载,收藏按钮事件
- 默认值:1
logo:
- 类型:字符串
- 描述:(可选项)右上角设置logo;支持fs://,widget:// (全屏默认按钮方案2不建议用此参数)
isImmerse:
- 类型:布尔型
- 描述:(可选项)在APP仅全屏播放有效;当为true时:顶部菜单自动加上顶部状态栏的高度,为false时:顶部菜单不加顶部状态栏高度。
- 默认值:true
FullScreenViewIsFont:
- 类型:布尔型
- 描述:(可选项)全屏view是否显示最上层,true:是|false:否,仅ios有效(注意,未开启沉侵式的App请不要设置该参数。)
- 默认值:true
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.init({
ttf: "widget://res/UKIJTor.ttf",
logo:"widget://res/cklogo.png",
fullBtnPlan : 2
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本
play
播放本地视频、网络视频、rtmp直播流等
play({params}, callback(ret, err))
params
rect:
- 类型:JSON 对象
- 默认值:见内部字段
- 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
- 内部字段:
{
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:
- 类型:字符串
- 描述:(可选项)模块所属 Frame 的名字,若不传则模块归属于当前 Window
fixed:
- 类型:布尔
- 描述:((可选项)模块是否随所属 Window 或 Frame 滚动
- 默认值:true(不随之滚动)
url:
- 类型:字符串
- 描述:(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、rtmp://、http://
title:
- 类型:字符串
- 描述:(可选项)不填时标题默认显示url地址
defaultBtn:
- 类型:布尔
- 描述:(可选项)设置本次播放是否显示默认自带的播放控制按钮
- 默认值:true(显示)
enableFull:
- 类型:布尔
- 描述:(可选项)本次播放视频是否全屏播放,当为true时将直接全屏播放视频,x,y,w,h,fixedOn,fixed值不会生效。
- 默认值:false(窗口播放)
isTopView:
- 类型:布尔
- 描述:(可选项)是否显示顶部标题栏
- 默认值:true(显示)
isFullBtn:
- 类型:布尔
- 描述:(可选项)小窗口是否显示进入全屏按钮
- 默认值:true(显示)
isBackBtn:
- 类型:布尔
- 描述:(可选项)小窗口是否显示返回按钮
- 默认值:false(不显示)
rotation:
- 类型:数字型
- 描述:(可选项)设置播放视频旋转角度(取值范围:0 90 180 270)
- 默认值:0
fullscreenMode:
- 类型:字符串
- 描述:(可选项)设置全屏按钮控制全屏显示模式是横屏还是竖屏 竖屏:PORTRAIT ; 横屏:LANDSCAPE
- 默认值:LANDSCAPE(横屏)
isShowProcessView:
- 类型:布尔型
- 描述:(可选项)是否显示进度条 (显示:true ; 不显示:false)【备注:直播流自动默认为false】
- 默认值:true
isShowTimeLable:
- 类型:布尔型
- 描述:(可选项)是否显示播放时间 (显示:true ; 不显示:false)
- 默认值:true
isLive:
- 类型:布尔型
- 描述:(可选项)是否直播视频源 (直播:true;点播:false)
- 默认值:直播:rtmp://开头|rtsp://开头|.m3u8结尾;其余为非直播
token:
- 类型:字符串
- 描述:(可选项)播放HLS加密视频Token模式传值。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON对象
- 内部字段:
{
msg: ""
}
示例代码
var obj = api.require('baiduPlayer');
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及更高版本
playUrl
同一个页面,已经调用play接口后,切换视频地址时调用(前提条件,同一界面已经调用过play接口)。
playUrl({params}, callback(ret, err))
params
url:
- 类型:字符串
- 描述:(必填项)视频资源地址,支持fs://、widget://(在 android 平台上不支持 widget)、rtmp://、http://
title:
- 类型:字符串
- 描述:(可选项)不填时标题默认显示url播放文件名
defaultBtn:
- 类型:布尔
- 描述:(可选项)设置本次播放是否显示默认自带的播放控制按钮
- 默认值:true(显示)
rotation:
- 类型:数字型
- 描述:(可选项)设置播放视频旋转角度(取值范围:0 90 180 270)
- 默认值:0
isLive:
- 类型:布尔型
- 描述:(可选项)是否直播视频源 (直播:true;点播:false)
- 默认值:直播:rtmp://开头|rtsp://开头|.m3u8结尾;其余为非直播
token:
- 类型:字符串
- 描述:(可选项)播放HLS加密视频Token模式传值。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
err:
- 类型:JSON对象
- 内部字段:
{
msg: ""
}
示例代码
var obj = api.require('baiduPlayer');
obj.playUrl({
title: 'test',
url: 'http://resource.apicloud.com/video/apicloud3.mp4',
defaultBtn: true
}, function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
pause
暂停播放
pause(callback(ret, err))
示例代码
var obj = api.require('baiduPlayer');
obj.pause(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
start
暂停后开始播放
start(callback(ret, err))
示例代码
var obj = api.require('baiduPlayer');
obj.start(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stop
停止播放
stop(callback(ret, err))
示例代码
var obj = api.require('baiduPlayer');
obj.stop(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getDuration
获取视频的时长
getDuration(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
duration : 1221122//视频的总时长
}
示例代码
var obj = api.require('baiduPlayer');
obj.getDuration(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getCurrentPosition
获取已经播放的时长
getCurrentPosition(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
currentPosition : 2221//已经播放的时长
}
示例代码
var obj = api.require('baiduPlayer');
obj.getCurrentPosition(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
full
全屏播放
full(callback(ret, err))
示例代码
var obj = api.require('baiduPlayer');
obj.full(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
unfull
退出全屏
unfull(callback(ret, err))
示例代码
var obj = api.require('baiduPlayer');
obj.unfull(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
addEventListener
视频播放完监听事件
addEventListener({params}, callback(ret, err))
params
name:
- 类型:字符串
- 描述:监听事件名称,可以设置的播放界面监听类型有:playEnd(播放结束),qingxidu(清晰度),xuanji(选集),download(下载),collection(收藏),pause(暂停),play(播放),backBtn(小窗口返回按钮),full(进入全屏按钮),unfull(退出全屏按钮)
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true
}
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.addEventListener({
name: 'playEnd'
}, function(ret, err) {
console.log("addEventListener>>>>" + JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
isFullScreen
获取是否全屏播放状态
isFullScreen({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true|false //布尔型;true:全屏 false:窗口
}
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.isFullScreen(function(ret, err) {
console.log("addEventListener>>>>" + JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
seekTo
设置播放进度位置(请根据视频最大时长进行参数控制传入)
seekTo({params}, callback(ret, err))
params
process:
- 类型:数字型
- 描述:(必填项)设置视频需要播放的时长
- 默认值:0
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.seekTo({
process : 402334
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本
setVolume
设置播音量
setVolume({params}, callback(ret, err))
params
volume:
- 类型:数字型
- 描述:(必填项)0-100
- 默认值:0
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.setVolume({
volume : 50
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本
hidePlayer
隐藏播放器
hidePlayer(callback(ret, err))
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.hidePlayer(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本
showPlayer
显示播放器
showPlayer(callback(ret, err))
示例代码
var baiduPlayer = api.require('baiduPlayer');
baiduPlayer.showPlayer(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android、iOS系统
可提供的1.0.0及更高版本