官方开发文档地址: https://developers.weixin.qq.com/miniprogram/dev/framework/liveplayer/live-player-plugin.html
如图1:
建议操作流程如下:
1.小程序开启直播插件,需要一定的资质,我公众号认证的是在线教育类的,关联的小程序,在线教育类的不需要特别的资质
小程序资质列表如下:https://developers.weixin.qq.com/miniprogram/product/material
官方文档 :https://developers.weixin.qq.com/miniprogram/product/live/access-requirement.html
2.开启直播插件后,点击直播,进入直播后台控制页面:
如图2:
3.点击 “接入指南”,可以查看小程序直播开发文档,链接:https://live.weixin.qq.com/livemp/broadcast/doc?token=214420037&lang=zh_CN
如图3:
4.代码引入
(1)根据开发文档,小程序前端代码,引入直播组件 ,项目根目录 app.json 中加入下面代码
1 2 3 4 5 6 |
<span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #aa1111;">"plugins"</span>: {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-string cm-property" style="box-sizing: border-box; color: #000000;">"live-player-plugin"</span>: {</span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-string cm-property" style="box-sizing: border-box; color: #000000;">"version"</span>: <span style="box-sizing: border-box; color: #aa1111;">"1.3.0"</span>, <span style="box-sizing: border-box; color: #aa5500;">// 注意填写该直播组件最新版本号,微信开发者工具调试时可获取最新版本号(复制时请去掉注释)</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span class="cm-string cm-property" style="box-sizing: border-box; color: #000000;">"provider"</span>: <span style="box-sizing: border-box; color: #aa1111;">"wx2b03c6e691cd7370"</span> <span style="box-sizing: border-box; color: #aa5500;">// 必须填该直播组件appid,该示例值即为直播组件appid(复制时请去掉注释)</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"> }</span> <span style="box-sizing: border-box; padding-right: 0.1px;">}</span> |
(2)我用的是链接直接点击跳转到直播组件页面(即为进直播间页面)
room.wxml
1 |
<navigator url="plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id={{roomId}}&custom_params={{customParams}}">进入直播间</navigator> |
room.js
1 2 3 4 5 6 |
<span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">let</span> <span style="box-sizing: border-box; color: #0000ff;">roomId</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> [<span style="box-sizing: border-box; color: #000000;">直播房间id</span>] <span style="box-sizing: border-box; color: #aa5500;">// 填写具体的房间号,可通过下面【获取直播房间列表】 API 获取</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">let</span> <span style="box-sizing: border-box; color: #0000ff;">customParams</span> <span style="box-sizing: border-box; color: #981a1a;">=</span> <span style="box-sizing: border-box; color: #000000;">encodeURIComponent</span>(<span style="box-sizing: border-box; color: #000000;">JSON</span>.<span style="box-sizing: border-box; color: #000000;">stringify</span>({ <span style="box-sizing: border-box; color: #000000;">path</span>: <span style="box-sizing: border-box; color: #aa1111;">'pages/index/index'</span>, <span style="box-sizing: border-box; color: #000000;">pid</span>: <span style="box-sizing: border-box; color: #116644;">1</span> })) <span style="box-sizing: border-box; color: #aa5500;">// 开发者在直播间页面路径上携带自定义参数(如示例中的path和pid参数),后续可以在分享卡片链接和跳转至商详页时获取,详见【获取自定义参数】、【直播间到商详页面携带参数】章节(上限600个字符,超过部分会被截断)</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;"><span style="box-sizing: border-box; color: #770088;">this</span>.<span style="box-sizing: border-box; color: #000000;">setData</span>({</span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #000000;">roomId</span>,</span> <span style="box-sizing: border-box; padding-right: 0.1px;"> <span style="box-sizing: border-box; color: #000000;">customParams</span></span> <span style="box-sizing: border-box; padding-right: 0.1px;">})</span> |
效果如图4 ,图5:
其中,roomId 为直播控制后台页面中的房间号
我用的功能还是比较简单的,只有一个直播间,后台直接输入直播间号,前端通过接口api获取房间号,通过点击 “navigator” 跳转到直播间页面。
如果需要更多地,更复杂的功能能,需要自己调用接口,如图6:
5.前端组件和页面布置好了,可以进直播后台”创建直播间“了
如图7:
这里有两种方式,一种是直接微信小程序中直播;另外一种就是脱离小程序,利用外设,比如摄像头之类的,我暂且叫之为非小程序直播;
(1)小程序直播
按上图填好直播间信息,其中 “主播微信账号” 需要用微信号实名认证,可以点击搜索查询,然后绑定主播微信账号,填完信息,然后“下一步”,
设置直播间封面,直播间封面,背景图,如下图8:
在最后可以设置直播间功能,如图9:
点击“创建”,直播间创建完成;
直播间创建完成后,可以进入查看数据,设置一些功能,连麦,直播小助手,如图10:
最后,用主播微信账号在微信中使用名称为“小程序直播”的小程序,在里面可以开始直播;
(2)非小程序直播
点击“创建”,选择推流设备直播,其余设置和上面类似,创建完成后,直播间列表页面会看到 “ 推流地址”,如下:
rtmp://wxalivepush.weixin.qq.com/live/wx40f8626ddf43d361_2796?txSecret=4b886b8127b82cde297c7ff6d76915a4&txTime=5efba7d0
推流用到的软件以及文档地址: https://docs.qq.com/doc/DV0hoWHZRdm9oT2pp?_t=1621580192736
官方推荐,手机端推流用【芯象直播软件】,pc端推流【OBS Studio】软件;
【芯象直播软件】下载安装后,设置推流地址,如图11:
【OBS Studio】安装下载好后设置推流地址,链接摄像机,来源“+”按钮,选择视频采集设备,如图12:
设置号后,在直播间列表页面,点击‘’控制台“,进去后可以设置”开始直播”;