乐播投屏简介
乐播投屏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,配置方法如下:
<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(callback(ret, err))
ret:
{
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及更高版本
搜索投屏设备,使用前需要先初始化插件,默认方法会每隔一段时间刷新一次设备数据,在适当的时候调用stopSearch方法即可停止搜索。
searchDevice(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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({params}, callback(ret, err))
name:
ip:
ret:
{
status: //数字类型;
//0 设备链接成功
//1 设备链接错误error,详细参看msg字段
//2 插件未正常初始化
//3 未找到该设备
msg: //字符串,提示说明
}
err:
{
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(callback(ret, err))
ret:
{
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及更高版本
投屏,需要先链接设备
cast({params}, callback(ret, err))
url:
mediaType:
startPosition:
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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({params}, callback(ret, err))
volume:
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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({params}, callback(ret, err))
seekTime:
ret:
{
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(callback(ret, err))
ret:
{
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(callback(ret, err))
ret:
{
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({params},callback(ret, err))
text:
textColor:
textSize:
ret:
{
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及更高版本
开始投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像
startMirror(callback(ret, err))
ret:
{
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及更高版本
结束投屏,由于系统原因,此方法只支持Android系统,IOS系统需要从系统控制中心打开/关闭屏幕镜像
stopMirror(callback(ret, err))
ret:
{
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及更高版本