使用voice API在Twilio Flex中创建会议后,如何为每个参与者添加挂断按钮调用控件?

使用voice API在Twilio Flex中创建会议后,如何为每个参与者添加挂断按钮调用控件?,twilio,twilio-flex,Twilio,Twilio Flex,我成功地在flex右侧创建了一个自定义目录弹出组件,以便传输到外部号码。我通过flex手动使用了Voice API,之后我注意到flex会自动向TaskDetailsPanel>ParticipantCanvas和TaskDetailsButtons添加大部分必要的控件。唯一缺少的部分是ParticipantCanvas中的挂断按钮。如果可能的话,我如何在仍然使用默认控件的情况下自己创建它们 另外,我注意到参与者2的静音按钮可以正常工作,只是它会使错误的参与者1静音。(1是添加到会议的第一个呼叫

我成功地在flex右侧创建了一个自定义目录弹出组件,以便传输到外部号码。我通过flex手动使用了Voice API,之后我注意到flex会自动向TaskDetailsPanel>ParticipantCanvas和TaskDetailsButtons添加大部分必要的控件。唯一缺少的部分是ParticipantCanvas中的挂断按钮。如果可能的话,我如何在仍然使用默认控件的情况下自己创建它们

另外,我注意到参与者2的静音按钮可以正常工作,只是它会使错误的参与者1静音。(1是添加到会议的第一个呼叫方) 我不一定需要原生flex用于热传输的“切换”功能。我只是能够静音,并删除参与者开始

下面是一个链接,说明从1.11版开始,flex中内置的热传输的价值

我最终会使用这个本机传输功能,但现在我只需要传输到外部号码,这样我就可以增量推出

我认为一种可能有效的方法是监听语音任务属性的更改,特别是

task.attributes.conference
如何监视任务属性的更改并做出相应的响应

我知道我可以调用这里描述的“KickParticipant”

只需要弄清楚如何添加UI控件,这些控件对每个参与者都有引用,而不是我自己(因为技术上有3个参与者)。希望这在现有的TaskDetailsPanel中是可能的,这样我就不必完全重写TaskDetailsPanel和TaskDetailsButtons

更新:
我已经成功地创建了一个twilio函数,它能让参与者兴奋不已。我会在有工作版本时更新。仍然需要弄清楚如何为每个参与者添加踢按钮,因为可以有多个踢按钮?

我现在能够找到一个解决方案,将它放在我的插件中

    const liveParticipantCountGreaterThan2 = (props) => {
  return props.task && props.task.conference && props.task.conference.liveParticipantCount > 2;
};

flex.DefaultTaskChannels.Call.addedComponents = [{
  target: "CallCanvasActions",
  component: <CustomCancelTransferButton key="someKeyName" />,
  options: { if: liveParticipantCountGreaterThan2 }
}];
const liveParticipantCountGreaterThan2=(道具)=>{
返回props.task&&props.task.conference&&props.task.conference.liveParticipantCount>2;
};
flex.DefaultTaskChannel.Call.addedComponents=[{
目标:“CallCanvasActions”,
组成部分:,
选项:{if:liveParticipantCountGreaterThan2}
}];
不过,最好为每个参与者添加一个挂断按钮,但也可能是另一个迭代