lBCast
来自于:https://www.jiancang.co立即使用
initLBCast searchDevice stopSearch connectDevice stopConnect castStart castStop progressInfo addVolume reduceVolume setVolume pauseOrResume pause resume setSeekTo pushBarrage
仅支持android的方法
仅支持ios的方法
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、注意事项、更新信息等,供您参考。
模块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
- 配置示例:
<feature name="lBCast">
<!--Android平台的App Id-->
<param name="androidAppId" value="12355" />
<!--Android平台的App Secret-->
<param name="androidSecret" value="33322d558885f49d5c5305a3272cbfb9" />
<!--iOS平台的App Id-->
<param name="iosAppId" value="12260" />
<!--iOS平台的App Secret-->
<param name="iosSecret" value="32c72d5eacd6167c60b7c1079c714f9e" />
</feature>
模块接口
initLBCast
初始化乐播投屏模块。
initLBCast(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false,失败时返回false
msg: //返回说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.initLBCast(function(ret, err) {
if (ret.status) {
alert(ret.msg);
} else {
alert('初始化失败,检查appid和secretkey配置是否正确');
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
searchDevice
搜索投屏设备,使用前需要先初始化模块,默认方法会每隔一段时间刷新一次设备数据,在适当的时候调用stopSearch方法即可停止搜索。
searchDevice(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result:, //数字类型;
//0 设备搜索成功
//1 设备搜索发生错误error,详细参看msg字段
//2 模块未正常初始化
//3 未搜索到设备
list:[ //json,设备列表,result为0的时候返回,其他不返回
{
"name":"乐播投屏S1", //设备名称
"ip":"192.168.0.100" //IP地址
}
],
msg: //返回说明内容
}
示例代码
var LBCast = api.require('lBCast');
LBCast.searchDevice(function(ret, err) {
if (ret.result) {
//搜索投屏设备成功
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopSearch
停止搜索设备
stopSearch(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.stopSearch(function(ret, err) {
if (ret.result) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
connectDevice
链接投屏设备,使用前需先搜索投屏设备
connectDevice({params}, callback(ret, err))
params
name:
- 类型:字符串
- 描述:(必须项)搜索投屏设备成功后返回的设备名称。
ip:
- 类型:字符串
- 描述:(必须项)搜索投屏设备成功后返回的设备ip地址。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //数字类型;
//0 设备链接成功
//1 设备链接错误error,详细参看msg字段
//2 模块未正常初始化
//3 未找到该设备
msg: //字符串,提示说明
}
err:
- 类型:JSON 对象
- 内部字段:
{
status:false //布尔型;false
msg: //字符串;提示说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.connectDevice({
name: '乐播投屏S1',
ip: '192.168.0.105'
}, function(ret, err) {
if (ret.status) {
alert('投屏成功');
} else {
alert(err.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
stopConnect
断开链接
stopConnect(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.stopConnect(function(ret, err) {
if (ret.result) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
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 对象
- 内部字段:
{
result: //数字类型;
//0:成功
//1:发生错误,参看msg
//2:未匹配正确的媒体类型
//3:媒体类型错误
//4:当前连接不支持播放
msg: //字符串;result为0时候不返回,其他返回
playStatus: 2 //数字类型;播放状态
//1:正在加载
//2:正在播放
//3:暂停播放
//4:播放完成
//5:播放结束
}
示例代码
var LBCast = api.require('lBCast');
LBCast.castStart({
url: 'http://hpplay.cdn.cibn.cc/videos/01.mp4',
mediaType:0,
startPosition:10
}, function(ret, err) {
console.log(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
castStop
退出投屏
castStop(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.castStop(function(ret, err) {
if (ret.result) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
progressInfo
播放进度信息,
progressInfo(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
duration:80 //数字类型;总时长(秒)
currentTime:66 //数字类型;当前播放位置(秒)
}
示例代码
var LBCast = api.require('lBCast');
LBCast.progressInfo(function(ret, err) {
console.log(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addVolume
增加音量
addVolume(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.addVolume(function(ret, err) {
if (ret.result) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
reduceVolume
减少音量
reduceVolume(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.reduceVolume(function(ret, err) {
if (ret.result) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.2及更高版本
setVolume
设置音量
setVolume({params}, callback(ret, err))
params
volume:
- 类型:数字
- 描述:(可选项)需要调节的音量值。
- 默认值:20
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;
msg: //字符串类型;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.setVolume({
volume: 50
}, function(ret, err) {
if (ret.status) {
alert('成功');
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.4及更高版本
pauseOrResume
暂停或继续
pauseOrResume(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.pauseOrResume(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pause
暂停
pause(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.pause(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
resume
继续播放
resume(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.resume(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSeekTo
设置播放进度
setSeekTo({params}, callback(ret, err))
params
seekTime:
- 类型:数字类型
- 描述:(可选项)播放进度位置(秒)。
- 默认值:0
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.setSeekTo({
seekTime: 30
}, function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
canBarrage
是否支持弹幕功能
canBarrage(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.canBarrage(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
canPushBarrageNow
现在是否可以发送弹幕
canPushBarrageNow(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.canPushBarrageNow(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
pushBarrage
发送弹幕
pushBarrage({params},callback(ret, err))
params
text:
- 类型:字符串
- 描述:弹幕内容
textColor:
- 类型:字符串
- 描述:(非必须)弹幕文字颜色
- 默认值:#fff
textSize:
- 类型:数字
- 描述:(非必须)字体大小
- 默认值:16
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.pushBarrage({
text:'',
textColor:'#333',
textSize:18
},function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startMirror
开始投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像
startMirror(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.startMirror(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
Android系统
可提供的1.0.0及更高版本
stopMirror
结束投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像
stopMirror(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
result: true, //布尔型;true||false
msg: //字符串;内容说明
}
示例代码
var LBCast = api.require('lBCast');
LBCast.stopMirror(function(ret, err) {
if (ret.result) {
alert(JSON.stringify(ret));
} else {
alert(ret.msg);
}
});
可用性
Android系统
可提供的1.0.0及更高版本