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