帮助开发者构建基于 Zoom Video SDK 的自定义视频会话应用
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "build-zoom-video-sdk-app" 技能: 1. 下载 https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/video-sdk/SKILL.md 2. 保存为 ~/.claude/skills/video-sdk/SKILL.md 3. 装好后重载技能,告诉我可以用了
请用 Zoom Video SDK 设计一个在线课堂应用方案,包含教师主持、学生举手、分组讨论、屏幕共享和课堂状态管理,并给出前端页面结构与核心开发步骤。
一份自定义视频课堂的功能方案、界面结构和实现步骤说明。
请为一个 Web 项目编写 Zoom Video SDK 集成指南,说明初始化、加入会话、音视频控制、用户事件监听和离开会话的基本代码结构。
一份适用于 Web 应用的 SDK 接入说明和核心代码框架。
我想做一个不使用标准 Zoom 会议界面的品牌化视频产品,请基于 Zoom Video SDK 规划可定制的界面模块、交互流程和用户体验重点。
一份强调品牌化、自定义界面与交互体验的视频产品设计建议。
Background reference for fully custom video-session products. Prefer plan-zoom-product first when the boundary between Meeting SDK and Video SDK is still unclear.
Build custom video experiences powered by Zoom's infrastructure.
join_url, or Meeting SDK join payload fields (meetingNumber, passWord).| Feature | Meeting SDK | Video SDK |
|---|---|---|
| UI | Default Zoom UI or Custom UI | Fully custom UI (you build it) |
| Experience | Zoom meetings | Video sessions |
| Branding | Limited customization | Full branding control |
| Features | Full Zoom features | Core video features |
Video SDK gives you full control over the UI:
| Option | Description |
|---|---|
| UI Toolkit | Pre-built React components (low-code) |
| Custom UI | Build your own UI using the SDK APIs |
Need help with OAuth or signatures? See the zoom-oauth skill for authentication flows.
Need pre-join diagnostics on web? Use probe-sdk before Video SDK
join()to reduce first-minute failures.
Start troubleshooting fast: Use the 5-Minute Runbook before deep debugging.
import ZoomVideo from '@zoom/videosdk';
const client = ZoomVideo.createClient();
await client.init('en-US', 'Global', { patchJsMedia: true });
await client.join(topic, signature, userName, password);
// IMPORTANT: getMediaStream() ONLY works AFTER join()
const stream = client.getMediaStream();
await stream.startVideo();
await stream.startAudio();
WARNING: Ad blockers block
source.zoom.us. Self-host the SDK to avoid issues.
# Download SDK locally
curl "https://source.zoom.us/videosdk/zoom-video-1.12.0.min.js" -o js/zoom-video-sdk.min.js
<script src="js/zoom-video-sdk.min.js"></script>
// CDN exports as WebVideoSDK, NOT ZoomVideo
// Must use .default property
const ZoomVideo = WebVideoSDK.default;
const client = ZoomVideo.createClient();
await client.init('en-US', 'Global', { patchJsMedia: true });
await client.join(topic, signature, userName, password);
// IMPORTANT: getMediaStream() ONLY works AFTER join()
const stream = client.getMediaStream();
await stream.startVideo();
await stream.startAudio();
When using <script type="module"> with CDN, SDK may not be loaded yet:
// Wait for SDK to load before using
function waitForSDK(timeout = 10000) {
return new Promise((resolve, reject) => {
if (typeof WebVideoSDK !== 'undefined') {
resolve();
return;
}
const start = Date.now();
const check = setInterval(() => {
if (typeof WebVideoSDK !== 'undefined') {
clearInterval(check);
resolve();
} else if (Date.now() - start > timeout) {
clearInterval(check);
reject(new Error('SDK failed to load'));
}
}, 100);
});
}
// Usage
await waitForSDK();
const ZoomVideo = WebVideoSDK.default;
const client = ZoomVideo.createClient();
The SDK has a strict lifecycle. Violating it causes silent failures.
1. Create client: client = ZoomVideo.createClient()
2. Initialize: await client.init('en-US', 'Global', options)
3. Join session: await client.join(topic, signature, userName, password)
…
围绕客户问题进行多来源调研与溯源,快速整理背景并支持准确回复。
帮助开发者构建 Zoom Phone 集成与通话自动化流程。