UniApp H5 接入
UniApp 的 H5 目标使用 @deeprespond/im-web/uniapp-h5,复用 Web SDK 和自建 LiveKit 频道媒体。当前没有 UniApp App 原生媒体桥接;微信小程序目标请使用小程序 SDK,其频道能力限查询。
创建客户端
使用包含此子路径的 SDK 版本。以下导入只能放在 H5 条件编译内;App、小程序和无 DOM 的 SSR 环境会在创建前以 unsupported 拒绝。
ts
// #ifdef H5
import { createDRUniAppH5Client } from '@deeprespond/im-web/uniapp-h5';
const im = createDRUniAppH5Client({
appKey: 'org#app', apiUrl: 'https://im.example.com',
});
// 按 Web SDK 登录完成后,在用户操作中调用:
if (!im.channels.supported) throw new Error('当前浏览器不支持频道');
const channel = await im.channels.join('meeting-demo', { ticket: ticketFromBusinessServer });
await channel.setMicrophoneEnabled(true);
// onUnload / 路由卸载时:
await channel.leave();
// #endif创建选项、登录、查询与恢复遵循Web SDK。频道轨道和显示见Web 频道接入,Vue 状态订阅可用 useChannel。
权限与页面收尾
需 HTTPS / localhost 安全上下文和 WebRTC;采集由用户操作触发,处理拒绝权限和音视频自动播放失败。默认不采集,角色和媒体类型限制同 Web。
页面卸载时取消尚未完成的 join 并对已有句柄调用 leave,再清理订阅和视频元素。移除页面元素不等于退出频道。
此入口已提供源码,尚未发布本轮 SDK 制品或完成 H5 页面权限与播放验收。不能将它作为 UniApp App 原生音视频实现。
