当前位置: 首页 > 资讯 > 足球资讯

丹麦VS刚果直播_丹麦VS刚果直播免费观看_丹麦VS刚果直播无插件观看

直播信号

丹麦VS刚果直播_丹麦VS刚果直播免费观看_丹麦VS刚果直播无插件观看

现在各大互联网都标配电商直播带货了,没有直播带货开发经验都感觉自己跟不上技术的进步。今天快速基于Java实现一个安卓端电商直播,深入理解整个电商直播开发流程。我们最终实现效果如下:

按照惯例,为了快速实现,我们继续基于即构直播进行开发。在正式开发之前,我们先理一下移动端电商直播开发流程。初始化,房主创建房间,并进入房间。 观众根据房间进入房间房主推实时视频流,观众拉实时视频流

注意,我们只实现直播实时音视频功能,具体的商品详情、支付等暂时不去实现。

集成方式请直接参考官方文档https://doc-zh.zego.im/article/195, 这里不过多描述。

这里我们把所有调用即构的封装到类中,并使用单例模式调用。其中初始化引擎工作放入到构造函数中:

这里有参数需要前往控制台https://console.zego.im创建一个项目获取。

登录画面如下:

2.1.1 验证房间ID的有效性

在创建房间之前,需要房主提供房间号,当然了,这一步可以由后台自动生成。作为一个,我们暂时让房主自己设置。为了避免房间号冲突,我们需要先验证当前房间号是否已存在,如果有个人服务器自然很轻松判断。如果没有个人服务器,可以调用即构提供的服务器端API接口查询当前房间的人数,具体调用方法可以前往https://doc-zh.zego.im/article/8780查询,也可以直接参考复用本文提供的源码。简单来说,使用服务器端就是访问一个址,返回对应的参数。2.1.2 使用ID创建房间并登录

我们将登录房间函数封装到类里面。登录房间代码如下。注意,无须显式创建房间,如果指定的房间ID不存在,则会自动创建。

注意到此函数需要传入参数。参数是采用对称算法生成。其大致原理如下:生成一个随机数,并将有效时长等其他相关参数,按照固定格式排列得到未加密版的。使用密钥(在即构官方控制台中获取,每个APPID对应一个密钥)并使用对称加密算法加密,得到加密版的,这个是给客户端登录时使用的。

具体的代码实现操作请参考文末提供的源码,这里不再过多描述。

需要注意的是,为了安全考虑,的生成操作最好放到个人服务器中,以免泄露密钥。

观众登录房间的方式与2.1.2中描述的一致,实现代码也一致,即房主与观众可以复用同一套登录函数。

房主进入房间后,需要做如下事情:申请摄像头、语音的手机权限。开启摄像头,本地预览画面。推流。将本地实时画面推向即构服务器,由即构服务器做直播流数据分发。

申请摄像头等权限这里不描述,不清楚的可以直接查看文末源码或相关文档。

实时画面预览效果如下:

如果从零开始做个摄像头实时画面预览需要大量代码量,即构早已将这行工作封装好,我们只需提供一个已经在中布局好的即可。示例代码如下:

推流更简单,直接调用即构一行代码:

指定视频流的唯一,传给函数即可。停止推流直接调用函数:

与本地预览实时画面一样,即构将拉取远程视频流也封装到了极致,只需一行代码即可谢菲尔德联赛事前瞻。我们在调用的时候仅需指定与对应的流:

根据拉流与推流的介绍,我们知道,其实播放实时画面得时候(房主和观众都一样)最多仅需与对应的流两个参数,因此我们把这两个参数封装到中:

然后封装函数, 不管是房主还是观众,都可以统一调用这个函数:

如果是房主,则在预览画面的同时,执行推流任务。如果是观众,直接拉流即可。

由于本文没有采用个人后台服务器做一些权限控制,因此会存在安全风险。如果是线上,请务必记得将敏感操作放到自己的后台服务器中执行。

在本文中,对于每个用户,如果需要推流,则将其推流的设置为其,强烈建议线上产品不要这么做,最好是由个人服务器生成,推荐形式,以避免串流。用户在监听到回调信息后,可以得到新增(或退出)的视频流ID。

同样的问题,如果有个人服务器,直接访问服务器查询相关数据库即可获取。但没有个人服务器怎么办?这里我们通过房主监听每个用户登录房间回调函数+房间内实时消息来实现。具体可描述如下:房主监听登录房间回调函数,如果有用户登录房间,则发送商品信息、房主userID、房间名称等数据消息。

发送消息可以调用函数实现:

想要Java快速实现电商直播Demo的开发者,可直接从以下地址获取电商直播源码。

电商直播demo源码

标签:  
录像推荐
英超德甲法甲西甲意甲NBA
热门标签

首页

足球

蓝球

录像

新闻