lBCast

来自于:https://www.jiancang.co立即使用

initLBCast searchDevice stopSearch connectDevice stopConnect castStart castStop progressInfo addVolume reduceVolume setVolume pauseOrResume pause resume setSeekTo pushBarrage

仅支持android的方法

startMirror

stopMirror

仅支持ios的方法

canBarrage

canPushBarrageNow

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、注意事项、更新信息等,供您参考。

lBCast-1.0.3

模块demo及widget下载见论坛帖:https://community.apicloud.com/bbs/thread-150738-1-1.html

概述

乐播投屏简介

乐播投屏SDK,是一套基于乐播自主研发的私有协议—乐联协议开发适用于Android/iOS设备的程序接口,开发者通过调用本模块接口,可以轻松实现将视频流媒体(mp4、flv等)的视频内容、直播流媒体(rtmp、hls、http-flv等)的视频内容、音乐 和 图片 推送到到智能电视端进行播放。也可将手机屏幕画面实时投屏到智能电视上(无延时),投视频、投手机实时画面、投音乐、投图片轻松搞定。乐播投屏具有速度快(手机和电视端可以同步,无延时)、不耗流量、耗电少等特点。

本模块封装了原生乐播投屏发送端SDK,已全面支持iOS和Android系统;接入后,能让您的App轻松拥有投屏与镜像能力,从而在满足用户需求的同时,也将您的内容分发上大屏。可广泛应用于通话,视频,音乐,直播,游戏,教育,办公等场景。

应用场景

1、跨屏游戏 高清、实时地将手游投到电视上,体验大屏手游的快感和刺激感。 2、会议演示 一部手机随时召集会议,让会议操作流程简化,效率更高。 3、视频点播 将手机上的任意影像投在电视屏上,与家人一起互动。 4、音乐共享 不需要华丽音响,就可以把无线音乐响彻整个house。 5、图片分享 朋友聚会聊天,将手机中的照片投到大屏,和朋友们分享照片故事。 6、车载导航 将手机中的信息传达到导航屏上,方便操控,安全驾驶。 7、电脑投屏 将电脑屏幕,电脑文档投屏至会议室大屏幕中,投屏开会或演示。

模块使用攻略

使用该模块,开发者需要到乐播投屏官网注册账号后进行用户认证,认证通过后可创建双平台应用获取相应的AppID和AppSecret,这个过程中如果有问题可以联系乐播投屏客服。

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,推荐使用自定义loader,配置方法如下:

  • 名称:lBCast
  • 参数:androidAppId、androidSecret、iosAppId、iosSecret
  • 配置示例:
  1. <feature name="lBCast">
  2. <!--Android平台的App Id-->
  3. <param name="androidAppId" value="12355" />
  4. <!--Android平台的App Secret-->
  5. <param name="androidSecret" value="33322d558885f49d5c5305a3272cbfb9" />
  6. <!--iOS平台的App Id-->
  7. <param name="iosAppId" value="12260" />
  8. <!--iOS平台的App Secret-->
  9. <param name="iosSecret" value="32c72d5eacd6167c60b7c1079c714f9e" />
  10. </feature>

模块接口

initLBCast

初始化乐播投屏模块。

initLBCast(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false,失败时返回false
  3. msg: //返回说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.initLBCast(function(ret, err) {
  3. if (ret.status) {
  4. alert(ret.msg);
  5. } else {
  6. alert('初始化失败,检查appid和secretkey配置是否正确');
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

searchDevice

搜索投屏设备,使用前需要先初始化模块,默认方法会每隔一段时间刷新一次设备数据,在适当的时候调用stopSearch方法即可停止搜索。

searchDevice(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result:, //数字类型;
  3. //0 设备搜索成功
  4. //1 设备搜索发生错误error,详细参看msg字段
  5. //2 模块未正常初始化
  6. //3 未搜索到设备
  7. list:[ //json,设备列表,result为0的时候返回,其他不返回
  8. {
  9. "name":"乐播投屏S1", //设备名称
  10. "ip":"192.168.0.100" //IP地址
  11. }
  12. ],
  13. msg: //返回说明内容
  14. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.searchDevice(function(ret, err) {
  3. if (ret.result) {
  4. //搜索投屏设备成功
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopSearch

停止搜索设备

stopSearch(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.stopSearch(function(ret, err) {
  3. if (ret.result) {
  4. alert('成功');
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

connectDevice

链接投屏设备,使用前需先搜索投屏设备

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

params

name:

  • 类型:字符串
  • 描述:(必须项)搜索投屏设备成功后返回的设备名称。

ip:

  • 类型:字符串
  • 描述:(必须项)搜索投屏设备成功后返回的设备ip地址。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //数字类型;
  3. //0 设备链接成功
  4. //1 设备链接错误error,详细参看msg字段
  5. //2 模块未正常初始化
  6. //3 未找到该设备
  7. msg: //字符串,提示说明
  8. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:false //布尔型;false
  3. msg: //字符串;提示说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.connectDevice({
  3. name: '乐播投屏S1',
  4. ip: '192.168.0.105'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert('投屏成功');
  8. } else {
  9. alert(err.msg);
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopConnect

断开链接

stopConnect(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.stopConnect(function(ret, err) {
  3. if (ret.result) {
  4. alert('成功');
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

castStart

投屏,需要先链接设备

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

params

url:

  • 类型:字符串
  • 描述:(必须项)需要投屏的网络视频地址或者本地可识别的真实路径,暂不支持widget、fs等地址类型。

mediaType:

  • 类型:数字类型
  • 描述:(必须项)需要投屏的媒体类型。0在线视频、1本地视频、2在线图片、3本地图片、4在线音乐、5本地音乐

startPosition:

  • 类型:数字类型
  • 描述:(非必须项)媒体投屏的起始时间(秒),仅类型为视频、音乐有效。
  • 默认值:0

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: //数字类型;
  3. //0:成功
  4. //1:发生错误,参看msg
  5. //2:未匹配正确的媒体类型
  6. //3:媒体类型错误
  7. //4:当前连接不支持播放
  8. msg //字符串;result为0时候不返回,其他返回
  9. playStatus: 2 //数字类型;播放状态
  10. //1:正在加载
  11. //2:正在播放
  12. //3:暂停播放
  13. //4:播放完成
  14. //5:播放结束
  15. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.castStart({
  3. url: 'http://hpplay.cdn.cibn.cc/videos/01.mp4',
  4. mediaType:0,
  5. startPosition:10
  6. }, function(ret, err) {
  7. console.log(JSON.stringify(ret));
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

castStop

退出投屏

castStop(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.castStop(function(ret, err) {
  3. if (ret.result) {
  4. alert('成功');
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

progressInfo

播放进度信息,

progressInfo(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. duration:80 //数字类型;总时长(秒)
  3. currentTime66 //数字类型;当前播放位置(秒)
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.progressInfo(function(ret, err) {
  3. console.log(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addVolume

增加音量

addVolume(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.addVolume(function(ret, err) {
  3. if (ret.result) {
  4. alert('成功');
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reduceVolume

减少音量

reduceVolume(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.reduceVolume(function(ret, err) {
  3. if (ret.result) {
  4. alert('成功');
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.2及更高版本

setVolume

设置音量

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

params

volume:

  • 类型:数字
  • 描述:(可选项)需要调节的音量值。
  • 默认值:20

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;
  3. msg: //字符串类型;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.setVolume({
  3. volume: 50
  4. }, function(ret, err) {
  5. if (ret.status) {
  6. alert('成功');
  7. } else {
  8. alert(ret.msg);
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.4及更高版本

pauseOrResume

暂停或继续

pauseOrResume(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.pauseOrResume(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pause

暂停

pause(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.pause(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resume

继续播放

resume(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.resume(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSeekTo

设置播放进度

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

params

seekTime:

  • 类型:数字类型
  • 描述:(可选项)播放进度位置(秒)。
  • 默认值:0

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.setSeekTo({
  3. seekTime: 30
  4. }, function(ret, err) {
  5. if (ret.result) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(ret.msg);
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

canBarrage

是否支持弹幕功能

canBarrage(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.canBarrage(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

canPushBarrageNow

现在是否可以发送弹幕

canPushBarrageNow(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.canPushBarrageNow(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

iOS系统

可提供的1.0.0及更高版本

pushBarrage

发送弹幕

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

params

text:

  • 类型:字符串
  • 描述:弹幕内容

textColor:

  • 类型:字符串
  • 描述:(非必须)弹幕文字颜色
  • 默认值:#fff

textSize:

  • 类型:数字
  • 描述:(非必须)字体大小
  • 默认值:16

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.pushBarrage({
  3. text:'',
  4. textColor:'#333',
  5. textSize:18
  6. },function(ret, err) {
  7. if (ret.result) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(ret.msg);
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startMirror

开始投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像

startMirror(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.startMirror(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

Android系统

可提供的1.0.0及更高版本

stopMirror

结束投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像

stopMirror(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. result: true, //布尔型;true||false
  3. msg: //字符串;内容说明
  4. }

示例代码

  1. var LBCast = api.require('lBCast');
  2. LBCast.stopMirror(function(ret, err) {
  3. if (ret.result) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(ret.msg);
  7. }
  8. });

可用性

Android系统

可提供的1.0.0及更高版本