一、需要创建zoom app,创建及配置参考:Zoom会议机器人转写例子-CSDN博客
这里直接使用zoom-recall的配置。
二、需要生成签名,参数为:zoom-recall中的Client ID和Client Secret
1、git clone https://github.com/zoom/meetingsdk-auth-endpoint-sample.git
2、cd meetingsdk-auth-endpoint-sample
3、npm install
4、.env中设置:
ZOOM_MEETING_SDK_KEY=Client ID的值
ZOOM_MEETING_SDK_SECRET=Client Secret的值
5、npm run start
启动签名服务 http://localhost:4000
三、会议机器人
1、git clone https://github.com/zoom/meetingbot-web-sample.git
2、cd meetingbot-web-sample
3、npm install
4、.env不需要设置
5、代码做如下调整:
client-view.js
1)authEndpoint设置为签名服务的地址http://localhost:4000
2)sdkKey设置为zoom-recall app的Client ID
3)启动,新建一个会议,url设置为新建会议的地址
4)userName设置为"someone's Bot"
5)注释掉leaveMeetingAndHandleError,避免向host请求录音时,无法得host(主持人)的响应,导致meetingbot直接退出。
meetingBot.js
6)设置headless为false,显示默认隐藏的自动模拟人操作的chorme浏览器,即meeting bot。
7)设置page.goto页面地址为http://localhost:8080
8)npx http-server frontend 启动meetingbot的页面地址http://localhost:8080
9)npm start 启动server.js即backend服务,服务地址http://localhost:30015
然后就可以看到会自动弹出一个chrome浏览器,然后它会自动操作加入会议,使用本地音频,请求录音。
zoom client界面上会显示wxl's bot加入了会议,并处于录音状态。
存在问题:ZoomMtg可以通过mediaCapture录音,但是没有获取raw data(音频流)的接口,windows/linux/macos版本的meeting sdk则有获取raw data的接口。