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

小程序直播系统(如何搭建小程序直播系统)
现在很多商家开始通过小程序的直播功能来销售商品,引导用户消费,有些商家已经大有作为 。众所周知,不是每个商家都能成功从线下转型到线上 。他们有货,却没有开发小程序的天赋,更别说在小程序上开放直播系统了 。

其实这个问题并不难 。随着小程序的快速发展,很多第三方音视频服务商都开始了帮助商家开通小程序直播系统的服务 。比如zego即时科技,目前即时科技已经和很多商家达成了合作,帮助商家在小程序直播的道路上逐步完善服务,帮助他们获得了很多利润 。很多渴望的商家对这个过程感兴趣,就是如何帮助商家搭建小程序的直播系统 。下面就和笔者一起来看看实现过程 。
完整的
1准备环境
请确保开发环境满足以下技术要求:
l微信开发者工具安装完毕 。
l使用微信小程序基础库2.3.0及以上版本(否则不支持音视频播放和录制组件)
2个集成SDK
从官网下载SDK
l请从ZegoExpress-MiniProgram下载SDK 。
版本历史更新,请检查:appletSDK历史更新日志 。
l解压下载的文件包,复制到小程序项目所在的文件夹 。
使用require将SDK集成到项目中:
功能实现
1.初始化SDK
集成SDK后,如果要使用SDK的功能,需要初始化SDK 。
登录房间
2.1设置房间相关的回拨
在您登录房间之前,需要设置房间相关的回拨,以便您在成功登录房间后收到房间相关的事件通知,比如处理因 中断退出房间的问题 。
2.2获取登录令牌
在开发阶段,ZEGO只为测试环境提供获取token的接口,正式上线时开发者的业务服务器必须实现token逻辑 。
(登录令牌请参考登录房间认证 。)
3推流
直播过程中,如果需要推送自己的图片,需要进行推流操作 。
3.1组件描述
微信小程序中的流媒体功能需要使用ZEGO“小程序直播插件”提供的ZEGO-pusher标签 。
3.2开始推流
主播成功登录房间后,根据业务逻辑准备推送流程 。使用SDK进行流式回放需要以下步骤:
l触发推流 。
l调用SDK的startPublishingStream获取streamID对应的推送流地址 。
l将步骤2中获得的推送流地址设置为zego-pusher的url 。
l获取流组件的实例,然后调用实例的开始来录制视频 。
3.3推流事件的处理
微信小程序会在zego-pusher的bindstatechange绑定 中通知推送流状态事件,开发者需要进行以下操作:
在bindstatechange绑定的回调函数中,调用SDK提供的updatePlayerState API,将push事件传输给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绑定 中通知pull状态事件,开发者需要进行如下操作:
在bindstatechange绑定的回调函数中,调用SDK提供的updatePlayerState API,将push事件传输给SDK 。
l在SDK提供的onPlayStateUpdate回调中处理push和pull流的启动和失败状态 。
l微信小程序会在zego-player中绑定netstatus的绑定 中通知流媒体 事件,开发者还需要在相应的小程序回调中调用updatePlayerNetStatus,将流媒体事件传输到SDK 。
4.4停止拉流
要停止流式传输,开发人员需要执行以下操作:
l调用SDK提供的stoppelayingstream(streamid)来清除空流状态 。
l调用zego-player提供的stop来停止推送流 。
5离开房间
按如下方式调用logoutRoom退出房间 。开发者退场前请务必停止推拉流,清除相关状态 。(详见官网)