Twilio视频-切换媒体设备选项不工作

Twilio视频-切换媒体设备选项不工作,twilio,twilio-functions,twilio-video,Twilio,Twilio Functions,Twilio Video,我使用的是twilio和twilio视频vbeta-2这一回购协议的主分支 我必须显示所选媒体并将设备推入其中,但当我尝试更新设备时,我遇到了一个错误 updateVideoDevice error TypeError: track must be a LocalAudioTrack, LocalVideoTrack, LocalDataTrack, or MediaStreamTrack at Object.INVALID_TYPE (index.js:30952) at Object.va

我使用的是
twilio
twilio视频
v
beta-2
这一回购协议的主分支
我必须显示所选媒体并将设备推入其中,但当我尝试更新设备时,我遇到了一个错误

updateVideoDevice error TypeError: track must be a LocalAudioTrack, LocalVideoTrack, LocalDataTrack, or MediaStreamTrack
at Object.INVALID_TYPE (index.js:30952)
at Object.validateLocalTrack (index.js:31469)
at LocalParticipant.unpublishTrack (index.js:17047)
at index.js:17096
at Array.reduce (<anonymous>)
at LocalParticipant.unpublishTracks (index.js:17095)
at index.js:36056

有人能解释我做错了什么吗?

这里是Twilio开发者福音传道者

这看起来是Twilio视频JS v1和v2之间的突破性变化。在v2文档中,调用将返回
映射。在该映射上调用
.values()
将返回s的迭代器,然后使用
array.from
将其转换为数组

问题是,然后将
LocalVideoTrackPublication
s数组传递给
localParticipant.unpublishTracks(tracks)
这会导致错误,因为
unpublishTracks
需要
LocalTrack
s数组而不是
LocalVideoTrackPublication
s数组

您可以通过映射出版物并返回
track
属性来解决此问题:

const tracks = Array.from(localParticipant.videoTracks.values())
                 .map(publication => publication.track);

如果有帮助,请告诉我。

这里是Twilio开发者福音传道者

这看起来是Twilio视频JS v1和v2之间的突破性变化。在v2文档中,调用将返回
映射。在该映射上调用
.values()
将返回s的迭代器,然后使用
array.from
将其转换为数组

问题是,然后将
LocalVideoTrackPublication
s数组传递给
localParticipant.unpublishTracks(tracks)
这会导致错误,因为
unpublishTracks
需要
LocalTrack
s数组而不是
LocalVideoTrackPublication
s数组

您可以通过映射出版物并返回
track
属性来解决此问题:

const tracks = Array.from(localParticipant.videoTracks.values())
                 .map(publication => publication.track);

如果有帮助,请告诉我。

谢谢,这确实有效,但只适用于ios safari浏览器。它在android上根本不起作用,在chrome或firefox上也不起作用,开关会分离并连接同一个摄像头的新轨迹?!这听起来像是一个不同的问题。您是否可以进行更多调试,然后提出新问题?错误是,
NotReadableError:无法启动视频源
您是否也在我的GitHub repo上对此提出了问题?也许我们可以改在那里工作?非常感谢谢谢,这确实有效,但只适用于ios safari浏览器。它在android上根本不起作用,在chrome或firefox上也不起作用,开关会分离并连接同一个摄像头的新轨迹?!这听起来像是一个不同的问题。您是否可以进行更多调试,然后提出新问题?错误是,
NotReadableError:无法启动视频源
您是否也在我的GitHub repo上对此提出了问题?也许我们可以改在那里工作?非常感谢