小程序直播系统(小程序直播系统搭建怎么做)
小程序直播系统(小程序直播系统搭建怎么做)
如今,很多商家通过小程序的直播功能开始卖货,引导用户消费,并且有的商家取得了不菲的成绩。众所周知,并不是每一位商家都能成功地从线下转型到线上,他们有商品,但没有人才开发小程序,更别说在小程序上开通直播系统了。
其实这个问题不难, 随着小程序的迅猛发展,很多第三方音视频服务商开启了他们帮助商家开通小程序直播系统的服务。比方说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合法域名中。
以上便是小程序直播系统搭建的完整过程了,即构科技官网上还有完整的示例源码可参考,有兴趣了解一番的话,可登录他们的官网去研究一下。
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)