You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中Daily.co是否支持「监听者模式」?

Daily.co 监听者模式实现方案

完全可以实现「监听者模式」,即用户仅订阅收听其他用户内容且不启用本地麦克风。你当前使用join方法的问题在于,该方法会让用户以交互式参与者身份加入房间,而要实现纯监听,应该使用subscribe模式而非join。

实现步骤及代码示例

直接通过subscribe方法以订阅者身份接入房间,配置不发布本地媒体、仅订阅远端音频:

const callObject = await Daily.createCallObject({
  url: dailyRoomUrl,
});

// 以监听者身份订阅房间
await callObject.subscribe({
  userName: username,
  // 禁用本地音频/视频发布
  publishAudio: false,
  publishVideo: false,
  // 自动订阅其他用户的音频流
  subscribeToAudio: true,
  // 若无需视频可设为false
  subscribeToVideo: false,
});

关键区别说明

  • join:用户作为正式参与者加入房间,占用房间的参与者名额,默认会发布本地媒体(即使你设置了startAudioOff,只是关闭了本地播放,媒体轨道仍可能存在)。
  • subscribe:用户作为纯订阅者(观众/监听者)接入,不占用参与者名额,仅接收远端媒体流,不会向房间发送任何本地音频/视频数据。

补充:已用join加入后的切换方案

如果已经通过join加入了房间,也可以通过以下代码切换到监听模式:

// 关闭本地音频发布
await callObject.setLocalAudio(false);
// 彻底取消本地媒体发布
await callObject.unpublish();

内容的提问来源于stack exchange,提问作者James Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:22:36