如今很多商家开始通过小程序的直播功能来销售商品,引导用户消费,一些商家取得了很大的成绩。众所周知,并不是每个商家都能从线下成功转型到线上。他们有货,却没有开发小节目的人才,更别说在小节目上开直播系统了。
其实这个问题并不难,
随着小节目的快速发展,很多第三方音视频服务商纷纷开始服务,帮助商家开通小节目直播系统。比如目前已经和各商家达成合作的zego即时通讯技术,在帮助商家直播小节目的道路上,逐渐完善了服务,帮助他们获得了大量的利润。很多心切的商家都对这个过程感兴趣,即如何帮助商家搭建小节目直播系统。让我们和作者一起看看实现过程。
集成
1 准备环境
确保开发环境满足以下技术要求:
l微信开发者工具已安装。
l使用微信小程序基础库2.3.0及以上版本(否则不支持音视频播放录制组件)。
2集成软件开发工具包
从官网下载 SDK
请从ZegoExpress-MiniProgram下载软件开发工具包。
版本历史更新,请查看:小程序JS SDK的历史更新日志。
l解压下载的文件包,复制到小程序项目所在的文件夹。
使用要求将软件开发工具包引入项目:
集成
功能实现
软件开发工具包是1\. 初始化 SDK,之后如果你想使用软件开发工具包的功能,你需要初始化软件开发工具包。
集成
2\. 登录房间
需要在登录房间前设置房间相关的回调,以便在成功登录房间后接收到房间相关的事件通知,如处理因网络中断而退出房间等问题。
2.1 设置房间相关回调
在开发阶段,ZEGO提供了一个只用于测试环境获取token的接口。当它正式启动时,令牌逻辑必须由开发人员的业务服务器来实现。
(登录令牌请参考登录房间认证。)
2.2 获取登录 token
直播过程中,如果需要推送自己的图片,需要执行推送操作。
3 推流
微信小程序中的推送功能需要使用ZEGO的小程序直播插件提供的ZEGO-Pusher标签。
3.1 组件说明
成功登录主播室后,根据业务逻辑准备推送流程。使用SDK执行流播放需要以下步骤:
l触发推流。
l调用SDK的startPublishingStream获取streamID对应的推流地址。
l将步骤2中获得的推流地址设置为zego-pusher的url。
l获取推流组件的实例,然后调用实例的开始记录视频。
3.3.2 开始推流事件的处理。
微信小程序会在zego-pusher的bindstatechange的绑定方式中通知推送状态事件,开发者需要进行如下操作:
在bindstatechange绑定的回调函数中,调用SDK提供的updatePlayerState API,将推送事件传输给SDK。
l在SDK提供的publisherStateUpdate回调中处理推送流的启动和失败状态。
l微信小程序会在zego-pusher的bindnetstatus的绑定方式中通知推送网络事件,开发者也需要在对应的小程序回调中调用。
UpdatePlayerNetStatus将推送事件传输到SDK。
3 推流
要停止推送流,开发人员需要执行以下操作:
l调用SDK提供的stopPublishingStream(streamID)清除推流状态。
l调用zego-pusher实例提供的stop来停止推送流。
3.4 停止推流
直播过程中,如果想观看房间内其他成员的推流图片,需要进行拉流操作。
4 拉流
微信小程序中的拉流流功能,需要用到插件提供的 zego-player 标签。
4.2 开始拉流
观众登录房间成功后,根据业务逻辑准备拉流。使用SDK拉流播放需要执行如下步骤:
l 触发拉流。
l 调用 SDK 的 startPlayingStream 获取streamID对应的播放地址。
l 将步骤 2 中获取的推流地址设置为 zego-player 的 url, 流ID设置为sid。
l 获取拉流组件实例,然后调用实例的play 播放视频 或者设置拉流组件的 autoplay 属性为 true,实现自动拉流。
4.3 拉流事件处理
微信小程序会在 zego-player 的 bindstatechange 绑定的方法中通知出拉流状态事件,开发者需要执行如下操作:
l 在bindstatechange 绑定的回调函数中,调用SDK提供的updatePlayerState API将推流事件透传给 SDK。
l 在 SDK 提供的onPlayStateUpdate 回调中处理播推、拉流的开始、失败状态。
l 微信小程序会在zego-player的bindnetstatus
绑定的方法中通知出拉流网络事件,开发者也需要在对应的小程序回调中,调用updatePlayerNetStatus将推流事件透传给 SDK。
4.4 停止拉流
停止拉流,开发者需要执行如下操作:
l 调用 SDK 提供的stopPlayingStream(streamid)清空拉流状态。
l 调用zego-player提供的stop停止推流。
5 退出房间
调用如下logoutRoom退出房间。请开发者在退出房间前,确保停止推拉流,并清理相关状态。(详情请看官网)
6 配置微信公众平台域名
ZEGO分配给开发者的URL(包含 HTTPS、WSS 协议),需要在微信公众平台进行“合法域名”配置后,小程序才能正常访问。
微信后台配置地址:微信公众平台 -> 设置 -> 开发设置 -> 服务器域名。
请开发者将 ZEGO 分配的请求域名,按照协议分类,填到指定的 request合法域名或者 socket合法域名中。
以上便是小程序直播系统搭建的完整过程了,即构科技官网上还有完整的示例源码可参考,有兴趣了解一番的话,可登录他们的官网去研究一下。