首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在twilio-video中,如果我在automaticSubscription设置为false的情况下连接到房间,以后如何订阅远程音轨?

在twilio-video中,如果我在automaticSubscription设置为false的情况下连接到房间,以后如何订阅远程音轨?
EN

Stack Overflow用户
提问于 2020-02-05 22:10:06
回答 1查看 423关注 0票数 3

基于docs for twilio-video v2.x提供的示例,我可以连接到聊天室,而无需自动订阅远程参与者发布的任何曲目,如下所示:

代码语言:javascript
复制
  const { connect } = require('twilio-video');
  const room = await connect(token, {
    automaticSubscription: false
  });

如果我这样做了,那么我如何在以后订阅远程音轨?

EN

回答 1

Stack Overflow用户

发布于 2020-08-06 17:58:31

你可以查看Twilio Track Subscription API

或者检查下面的代码,以便稍后更新跟踪订阅。

代码语言:javascript
复制
// Find your credentials at twilio.com/console
const API_KEY_SID = 'SKXXXX';
const API_KEY_SECRET = 'your_api_key_secret';
const ACCOUNT_SID = 'ACXXXX';

const Twilio = require('twilio');

const client = new Twilio(API_KEY_SID, API_KEY_SECRET, {accountSid: ACCOUNT_SID});

//-------------------------------------------------------------------------------
//1. At connect time Adam wants to receive all the tracks.
//   Done by default rule. No further actions required.


//-------------------------------------------------------------------------------
//2. After a while, Adam notices his bandwidth consumption is too high and
//   decides to unsubscribe from all video tracks

client.video.rooms('RMXXXX').participants.get('Adam')
.subscribeRules.update({
  rules: [
    {"type": "include", "kind": "audio"}
  ]
})
.then(result => {
  console.log('Subscribe Rules updated successfully')
})
.catch(error => {
  console.log('Error updating rules ' + error)
});

//-------------------------------------------------------------------------------
//3. Later, a video screenshare track with SID MTXXXX is published to the room
//   and Adam subscribes to it.

client.video.rooms('RMXXXX').participants.get('Adam')
.subscribeRules.update({
  rules: [
    {"type": "include", "kind": "audio"},
    {"type": "include", "track": "MTXXXX"}
  ]
})
.then(result => {
  console.log('Subscribe Rules updated successfully')
})
.catch(error => {
  console.log('Error updating rules ' + error)
});

//-------------------------------------------------------------------------------
//4. John, another participant, is in a noisy place and his audio track is
//   annoying. Adam decides to unsubscribe from it.

client.video.rooms('RMXXXX').participants.get('Adam')
.subscribeRules.update({
  rules: [
    {"type": "include", "kind": "audio"},
    {"type": "include", "track": "MTXXXX"},
    {"type": "exclude", "publisher": "John", "kind": "audio"}
  ]
})
.then(result => {
  console.log('Subscribe Rules updated successfully')
})
.catch(error => {
  console.log('Error updating rules ' + error)
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60077673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档