小程序直播系统(小程序直播系统搭建怎么做)

80酷酷网    80kuku.com

小程序直播系统(小程序直播系统搭建怎么做)

如今,很多商家通过小程序的直播功能开始卖货,引导用户消费,并且有的商家取得了不菲的成绩。众所周知,并不是每一位商家都能成功地从线下转型到线上,他们有商品,但没有人才开发小程序,更别说在小程序上开通直播系统了。

小程序直播系统搭建怎么做

其实这个问题不难, 随着小程序的迅猛发展,很多第三方音视频服务商开启了他们帮助商家开通小程序直播系统的服务。比方说zego即构科技,目前即构科技和多方商家达成了合作,在协助商家在小程序直播的道路上服务逐步完善,帮助他们获得了不菲的盈利。很多跃跃欲试的商家感兴趣在这个过程中,即构是如何帮助商家搭建小程序直播系统的,下面就随笔者来了解一下实施过程吧。

集成

1 准备环境

请确保开发环境满足以下技术要求:

l 已安装微信开发者工具

l 使用微信小程序基础库 2.3.0 及以上版本(否则不支持音视频播放、录制组件)

2 集成 SDK

从官网下载 SDK

l 请从 ZegoExpress-MiniProgram 下载 SDK。

历史版本更新,请查看:小程序 JS SDK 历史更新日志

l 将下载下来的文件包解压缩后拷贝到小程序项目所在文件夹下。

l 使用 require 将 SDK 集成到项目中即可:

功能实现

1. 初始化 SDK

集成 SDK 后,若想使用 SDK 的功能,还需要对 SDK 进行初始化操作。

2. 登录房间

2.1 设置房间相关回调

登录房间之前需要设置房间相关回调,便于登录房间成功后接收房间相关的事件通知,比如处理因网络中断退出房间等问题。

2.2 获取登录 token

在开发阶段,ZEGO 提供了只用于测试环境获取 token 的接口,正式上线一定要由开发者的业务服务器实现 token 逻辑。

(登录 token 的获取请参考 登录房间鉴权。)

3 推流

直播过程中,如果需要推送自己的画面,都需要执行推流操作。

3.1 组件说明

微信小程序中的推流功能,需要使用 ZEGO "小程序直播插件”提供的 zego-pusher 标签。

3.2 开始推流

主播登录房间成功后,根据业务逻辑准备推流。使用 SDK 推流播放需要执行如下步骤:

l 触发推流。

l 调用 SDK 的 startPublishingStream 获取 streamID 对应的推流地址。

l 将步骤 2 中获取的推流地址设置为 zego-pusher 的 url。

l 获取推流组件实例,然后调用实例 的 start 录制视频。

3.3 推流事件处理

微信小程序会在 zego-pusher 的 bindstatechange 绑定的方法中通知出推流状态事件,开发者需要执行如下操作:

l 在 bindstatechange 绑定的回调函数中,调用 SDK 提供的 updatePlayerState API 将推流事件透传给 SDK。

l 在 SDK 提供的 publisherStateUpdate 回调中处理推流的开始、失败状态。

l 微信小程序会在 zego-pusher 的 bindnetstatus 绑定的方法中通知出推流网络事件,开发者也需要在对应的小程序回调中,调用 updatePlayerNetStatus 将推流事件透传给 SDK。

3.4 停止推流

停止推流,开发者需要执行如下操作:

l 调用 SDK 提供的 stopPublishingStream(streamID) 清空推流状态。

l 调用 zego-pusher 实例提供的 stop 停止推流。

4 拉流

直播过程中,如果想观看房间内其他成员的推流画面,都需要执行拉流操作。

4.1 组件说明

微信小程序中的拉流流功能,需要用到插件提供的 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合法域名中。

以上便是小程序直播系统搭建的完整过程了,即构科技官网上还有完整的示例源码可参考,有兴趣了解一番的话,可登录他们的官网去研究一下。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: