Hey @tony,
In order to add recording functionality, the role
must be set to 1
in the meetConfig
object. This makes you the host when you join a meeting.
Then, you can add the functions you found into the ZoomMtg.join
callback success function. Here is the sample-app-web code modified to record a meeting,
(function() {
console.log('checkSystemRequirements');
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));
// it's option if you want to chenge the jssdk dependency link resources.
// ZoomMtg.setZoomJSLib('https://dmogdx0jrul3u.cloudfront.net/1.4.2/lib', '/av'); // CDN version default
// ZoomMtg.setZoomJSLib('http://localhost:9999/node_modules/zoomus-jssdk/dist/lib', '/av'); // Local version default
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
var API_KEY = 'YOUR_API_KEY';
/**
* NEVER PUT YOUR ACTUAL API SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
* The below generateSignature should be done server side as not to expose your api secret in public
* You can find an eaxmple in here: https://marketplace.zoom.us/docs/sdk/native-sdks/Web-Client-SDK/tutorial/generate-signature
*/
var API_SECRET = 'YOUR_API_SECRET';
document.getElementById('join_meeting').addEventListener('click', function(e) {
e.preventDefault();
if (!this.form.checkValidity()) {
alert("Enter Name and Meeting Number");
return false;
}
var meetConfig = {
apiKey: API_KEY,
apiSecret: API_SECRET,
meetingNumber: parseInt(document.getElementById('meeting_number').value),
userName: document.getElementById('display_name').value,
passWord: "",
leaveUrl: "https://zoom.us",
role: 1
};
var signature = ZoomMtg.generateSignature({
meetingNumber: meetConfig.meetingNumber,
apiKey: meetConfig.apiKey,
apiSecret: meetConfig.apiSecret,
role: meetConfig.role,
success: function(res) {
console.log(res.result);
}
});
ZoomMtg.init({
leaveUrl: 'http://www.zoom.us',
isSupportAV: true,
success: function() {
ZoomMtg.join({
meetingNumber: meetConfig.meetingNumber,
userName: meetConfig.userName,
signature: signature,
apiKey: meetConfig.apiKey,
userEmail: 'email@gmail.com',
passWord: meetConfig.passWord,
success: function(res) {
$('#nav-tool').hide();
console.log('join meeting success');
// meeting set to record by default
ZoomMtg.record({
record: true
});
// meeting set to show record button
// ZoomMtg.showRecordFunction({
// show: true
// });
},
error: function(res) {
console.log(res);
}
});
},
error: function(res) {
console.log(res);
}
});
});
})();
Let me know if this works for you!
Thanks,
Tommy