daniuPlayer

来自于:开发者立即使用

addPlayerListener openPlayer hidePlayer showPlayer closePlayer switchUrl switchMute saveImage startRecorder stopRecorder

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

视沃科技-大牛直播SDK

专注、极致、智慧,国内外为数不多不依赖开源框架、跨平台(windows/android/iOS)、公网推送(支持rtmp)-转发-播放-录像(支持rtmp/rtsp),比快更快,业界真正靠谱的超低延迟(真1秒,低延迟模式下200~400ms)。

适用于在线教育、无纸化推屏/会议、智慧教室、智能可视门禁对讲、超低延迟娃娃机抓取播放方案、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、微信直播、监控对接、活动现场直播、游戏直播、秀场直播等场景。

daniuPlayer 模块概述

本模块封装了大牛直播SDK,支持rtsp、rtmp播放(请开发者自行控制播放格式),支持秒开模式,支持快速切换视频播放地址等。

License文件打包模块包需注意事项请参考License打包模块包注意事项

固件要求

Android:2.3.1及以上 iOS:7.0及以上

模块接口

addPlayerListener

播放器监听

addPlayerListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 1001, //状态码(含义见下表:)
  3. param1 : '',//返回参数1
  4. param2 : '',//返回参数2
  5. param3 : '',//返回参数3
  6. param4 : '',//返回参数4
  7. }

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.addPlayerListener(function(ret){
  3. api.toast({
  4. msg : " addPlayerListener " + JSON.stringify(ret)
  5. });
  6. });

code状态码

状态码描述信息
1001开始播放
1002连接中
1003连接失败
1004已连接
1005断开连接
1006停止播放
1007视频解码分辨率信息
1008收不到RTMP数据
1009快速切换url
1010快照成功/失败
1011开始buffer
1012buffer百分比
1013停止buffer
1014download速度
1015开始一个新的录像文件
1016已生成一个录像文件

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPlayer

打开播放器

openPlayer({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(不随之滚动)

playBuffer:

  • 类型:数字型
  • 描述:(可选项)设置播放端缓存数据 buffer,如不需 buffer, 设置为 0 。
  • 默认值:200

isLowLatency:

  • 类型:布尔
  • 描述:(可选项)针对类似于直播娃娃机等期待超低 延迟的使用场景,超低延迟播放模式下,延迟可达到 200~400ms;
  • 默认值:false(不开启)

isFastStartup:

  • 类型:布尔
  • 描述:(可选项)设置 快速启动后,如果 CDN 缓存 GOP,daniulive player 可快速出帧;
  • 默认值:true(秒开)

isMute:

  • 类型:布尔
  • 描述:(可选项)设置播放过程中,实时静音/取消静音;
  • 默认值:false(取消静音)

isHardwareDecoder:

  • 类型:布尔
  • 描述:(可选项)设置是否用硬解码播放,硬解码/软解码;
  • 默认值:false(软解)

url:

  • 类型:字符串
  • 描述:(必填项)支持 rtmp、rtsp地址类型(类型控制请开发者自行判断,模块不做地址限制判断逻辑);

timeout:

  • 类型:布尔
  • 描述:(可选项)设置RTSP超时时间, timeout单位为秒,必须大于0;
  • 默认值:12秒

isAutoSwitchTcpUdp:

  • 类型:布尔
  • 描述:(可选项)设置是否RTSP TCP/UDP自动切换;
  • 默认值:false

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.openPlayer({
  3. rect : {
  4. x : 5,
  5. y : 0,
  6. w : api.frameWidth-5,
  7. h : 200
  8. },
  9. playBuffer : 200, // 默认200ms
  10. isLowLatency : false, //超低延时,默认fasle:不开启 true:开启
  11. isFastStartup : true, // 是否秒开, 默认true:秒开 false:取消秒开
  12. isMute : false, //是否静音 默认false:取消静音 true:静音
  13. isHardwareDecoder : false, //是否硬解 默认false:软解 true:硬解
  14. url : _deviceid ,
  15. fixedOn : api.frameName,
  16. fixed : true
  17. }, function(ret, err) {
  18. api.toast({ msg : " openPlayer " + JSON.stringify(ret) + " " + JSON.stringify(err) });
  19. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hidePlayer

隐藏播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.hidePlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showPlayer

显示播放器

hidePlayer(callback(ret,err))

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.showPlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closePlayer

关闭播放器

closePlayer(callback(ret,err))

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.closePlayer();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchUrl

切换播放器视频地址 switchUrl({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:(必填项)支持 rtmp、rtsp地址类型(类型控制请开发者自行判断,模块不做地址限制判断逻辑);

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.switchUrl({
  3. url : "http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"
  4. }, function(ret, err) {
  5. api.toast({
  6. msg : " switchUrl " + JSON.stringify(ret) + " " + JSON.stringify(err)
  7. });
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

switchMute

设置是否静音 switchMute({params}, callback(ret, err))

params

isMute:

  • 类型:布尔
  • 描述:(可选项)设置播放过程中,实时静音/取消静音;
  • 默认值:false(取消静音)

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.switchMute({
  3. isMute : true
  4. }, function(ret, err) {
  5. api.toast({
  6. msg : " switchMute " + JSON.stringify(ret) + " " + JSON.stringify(err)
  7. });
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

saveImage

保存快照 saveImage(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.saveImage(function(ret, err) {
  3. api.toast({
  4. msg : " saveImage " + JSON.stringify(ret) + " " + JSON.stringify(err)
  5. });
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startRecorder

开始录像 startRecorder({params}, callback(ret, err))

params

fileMaxSize:

  • 类型:数字型
  • 描述:(可选项)设置每个录像文件最大 size, 以兆(M)为单位,范围(5M~500M);
  • 默认值:200

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.startRecorder();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecorder

停止录像 stopRecorder(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

  1. var demo = api.require('daniuPlayer');
  2. demo.stopRecorder();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本