lBCast

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

仅支持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
  • 配置示例:
  <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及更高版本