禁用网络摄像头或麦克风时,对localParticipant曲目的更改不会传播到远程参与者

问题描述 投票:0回答:1

我已经建立了一个程序来使用Twilio可编程视频API进行视频聊天。我可以将本地和远程连接到会议室,并与所有参与者见面/聆听。

我正在存储Twilio的connect函数以redux状态返回的房间对象。我已经实现了用于切换摄像头和麦克风的按钮,并且它们可以正常工作-直到从组件上卸下容器为止。

[如果某人单击网站上的某些导航,使他们离开消息传递部分,则视频通话将卸载装有视频通话容器的组件,并在屏幕的右下方安装一个其他小的组件。进行此切换后,视频和音频继续正常工作(两个用户都可以看到和听到彼此),但是问题是切换麦克风和摄像头按钮不再正常工作。如果我单击禁用网络摄像头按钮,我会看到本地视频在本地关闭,但是远程参与者仍可以看到我的网络摄像头。如果我导航回到“消息传递”部分,则会再次看到较大的视频供稿,并且按钮仍然无法使用。

两个组件都从redux状态开始使用同一房间对象进行渲染。切换功能也会在redux状态下分派和减少。我可以确认,当我单击按钮时,reducer被调用了,只是轨道信息没有被传播。我尝试同时渲染它们,并且当我这样做时,大组件和小组件上的按钮都起作用,但是如果我离开消息传递部分(因此卸下大组件),则按钮会再次断裂-如果我关闭小部件,大部件上的按钮也会停止工作。

是否缺少某些固有的东西,如果将其从组件中删除,会导致轨道的disable()/enable()功能停止工作?没有发现任何错误,只是在联系远程参与者有关音轨更改时似乎断开了连接。

javascript reactjs react-redux twilio twilio-php
1个回答
0
投票
我发现了问题-在参与者的useEffect声明中,它正在返回调用removeAllListeners()。删除该问题。
© www.soinside.com 2019 - 2024. All rights reserved.