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对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: ""
  3. }

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.setAccessKey({
  3. accessKey: "5586c18e460986bf749c11371bdbfc18"
  4. });

可用性

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

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.init({
  3. ttf: "widget://res/UKIJTor.ttf",
  4. logo:"widget://res/cklogo.png",
  5. fullBtnPlan : 2
  6. });

可用性

Android、iOS系统

可提供的1.0.0及更高版本

play

播放本地视频、网络视频、rtmp直播流等

play({params}, callback(ret, err))

params

rect:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)浏览器窗口的位置和大小,设置margin后,在不同手机上面会保持与父页面的各方向边距一致,而中间区域会自动扩充。建议使用margin布局,可以完美适配带smartBar的手机。
  • 内部字段:
  1. {
  2. x:0, //左上角x坐标,默认0
  3. y:0, //左上角y坐标,默认0
  4. w:320, //宽度,默认'auto',页面从x位置开始自动充满父页面宽度
  5. h:480 //高度,默认'auto',页面从y位置开始自动充满父页面高度
  6. marginLeft:0, //相对父页面左外边距的距离,默认0
  7. marginTop:0, //相对父页面上外边距的距离,默认0
  8. marginBottom:0, //相对父页面下外边距的距离,默认0
  9. marginRight:0 //相对父页面右外边距的距离,默认0
  10. }

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对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: ""
  3. }

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.play({
  3. rect:
  4. { x: 0,
  5. y : 0,
  6. w : 320,
  7. h: 250
  8. },
  9. fixedOn: api.frameName,
  10. title: 'test',
  11. url: 'http://resource.apicloud.com/video/apicloud3.mp4',
  12. defaultBtn: true,
  13. enableFull : false,
  14. isTopView : false
  15. }, function(ret, err) {
  16. });

可用性

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对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg: ""
  3. }

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.playUrl({
  3. title: 'test',
  4. url: 'http://resource.apicloud.com/video/apicloud3.mp4',
  5. defaultBtn: true
  6. }, function(ret, err) {
  7. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

pause

暂停播放

pause(callback(ret, err))

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.pause(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

start

暂停后开始播放

start(callback(ret, err))

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.start(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop(callback(ret, err))

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.stop(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getDuration

获取视频的时长

getDuration(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. duration : 1221122//视频的总时长
  4. }

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.getDuration(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getCurrentPosition

获取已经播放的时长

getCurrentPosition(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false
  3. currentPosition : 2221//已经播放的时长
  4. }

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.getCurrentPosition(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

full

全屏播放

full(callback(ret, err))

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.full(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

unfull

退出全屏

unfull(callback(ret, err))

示例代码

  1. var obj = api.require('baiduPlayer');
  2. obj.unfull(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

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对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true
  3. }

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.addEventListener({
  3. name: 'playEnd'
  4. }, function(ret, err) {
  5. console.log("addEventListener>>>>" + JSON.stringify(ret));
  6. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

isFullScreen

获取是否全屏播放状态

isFullScreen({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true|false //布尔型;true:全屏 false:窗口
  3. }

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.isFullScreen(function(ret, err) {
  3. console.log("addEventListener>>>>" + JSON.stringify(ret));
  4. });

可用性

iOS、Android系统

可提供的1.0.0及更高版本

seekTo

设置播放进度位置(请根据视频最大时长进行参数控制传入)

seekTo({params}, callback(ret, err))

params

process:

  • 类型:数字型
  • 描述:(必填项)设置视频需要播放的时长
  • 默认值:0

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.seekTo({
  3. process : 402334
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android、iOS系统

可提供的1.0.0及更高版本

setVolume

设置播音量

setVolume({params}, callback(ret, err))

params

volume:

  • 类型:数字型
  • 描述:(必填项)0-100
  • 默认值:0

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.setVolume({
  3. volume : 50
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android、iOS系统

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer(callback(ret, err))

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.hidePlayer(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android、iOS系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

showPlayer(callback(ret, err))

示例代码

  1. var baiduPlayer = api.require('baiduPlayer');
  2. baiduPlayer.showPlayer(function(ret, err) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

Android、iOS系统

可提供的1.0.0及更高版本