# 极简接入(Android)
乐播提供了带UI界面的SDK版本,支持APP仅通过一个简单接口就能把SDK集成到自己的APP使用了。 如果这个UI界面不能满足您的需求,可跳过此篇。
# 1 推送投屏极简接入方式
# 1.1 初始化
LelinkSourceSDK.getInstance()
//FIXME WARN: 这里替换为您申请的AppID & AppSecret,build.gradle替换为您的应用包名
.setSdkInitInfo(this, getString(R.string.app_id), getString(R.string.app_secret))
.easyPush(mBrowseContainer);
** 传入参数:**
- 第一个参数:在开发者中心申请的AppID
- 第二个参数:在开发者中心申请的AppSecret
- 第三个参数:设备列表展示所需的ViewGroup(SDK包含设备搜索ui,需要APP层传递一个显示区域的ViewGroup)
# 1.2 投屏监听设置
LelinkSourceSDK.getInstance().setEasyCastListener(mCastListener);
因为搜索列表在SDK实现,当用户点击选中某个设备时,SDK就会触发onCast回调,应用层需要在回调中传入实际需要投屏播放的url
private IEasyCastListener mCastListener = new IEasyCastListener() {
/**
* 如果没有触发此回调,则表示此次未搜索到设备或用户未投屏
* @param lelinkServiceInfo
* @return
*/
@Override
public EasyCastBean onCast(LelinkServiceInfo lelinkServiceInfo) {
EasyCastBean bean = new EasyCastBean();
bean.url = videoUrl; //实际需要投屏的url
return bean;
}
/**
* 如果投屏失败,在搜索页面关闭的时候,会触发回调
* @param lelinkServiceInfo
* @param easyCastBean
* @param what
* @param extra
*/
@Override
public void onCastError(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean, int what, int extra) {
}
/**
* 推送成功
* @param lelinkServiceInfo
* @param easyCastBean
*/
@Override
public void onCastLoading(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
/**
* 暂停
* @param lelinkServiceInfo
* @param easyCastBean
*/
@Override
public void onCastPause(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
/**
* 起播 或 收端暂停之后恢复播放
* @param lelinkServiceInfo
* @param easyCastBean
*/
@Override
public void onCastStart(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onCastPositionUpdate(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean, long duration, long position) {
}
/**
* 收端播放结束,如果需要实现下一集,可在之后的onCast回调中提供播放信息
* @param lelinkServiceInfo
* @param easyCastBean
*/
@Override
public void onCastCompletion(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
/**
* 搜索退出播放,不同于 onCastCompletion,此时需要恢复APP视频播放
* @param lelinkServiceInfo
* @param easyCastBean
*/
@Override
public void onCastStop(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onDismiss() {
}
};
# 2 镜像投屏极简接入方式
# 2.1 初始化
LelinkSourceSDK.getInstance()
//FIXME WARN: 这里替换为您申请的AppID & AppSecret,build.gradle替换为您的应用包名
.setSdkInitInfo(this, getString(R.string.app_id), getString(R.string.app_secret))
.easyMirror(mBrowseContainer);
** 传入参数:**
- 第一个参数:在开发者中心申请的AppID
- 第二个参数:在开发者中心申请的AppSecret
- 第三个参数:设备列表展示所需的ViewGroup(SDK包含设备搜索ui,需要APP层传递一个显示区域的ViewGroup)
# 2.2 投屏监听设置
LelinkSourceSDK.getInstance().setEasyCastListener(mCastListener);
跟推送方式一样,区别是在oncast回调时,设置镜像参数。
private IEasyCastListener mCastListener = new IEasyCastListener() {
@Override
public EasyCastBean onCast(LelinkServiceInfo lelinkServiceInfo) {
EasyCastBean castBean = new EasyCastBean();
castBean.mirrorAudioEnable = false;
return castBean;
}
@Override
public void onCastError(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean, int what, int extra) {
}
@Override
public void onCastLoading(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onCastPause(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onCastStart(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onCastPositionUpdate(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean, long duration, long position) {
}
@Override
public void onCastCompletion(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onCastStop(LelinkServiceInfo lelinkServiceInfo, EasyCastBean easyCastBean) {
}
@Override
public void onDismiss() {
}
};