我是reactjs的新手,正在开发一个基于twilio视频聊天的组件。有人建议,当有人加入通话时,这个人的视频会附加到远程媒体?
我发现了一些链接,指的是建立一个反应驱动的Twilio视频聊天。
https://www.twilio.com/blog/2016/03/building-a-react-powered-video-chat.html
Twilio开发者布道者在这里。
当参与者加入视频室时,您和您都希望看到他们的视频并听到他们的音频,那么您需要将他们传入的媒体轨道连接到应用程序中的视频元素。您可以监听参与者的trackAdded
和trackRemove
事件,以便您知道何时附加和分离轨道。例如:
room.on('participantConnected', function(participant) {
participant.on('trackAdded', function(track) {
// Attach the track to a DOM element that you have access to.
// This creates a <video> element for VideoTracks and an <audio> element for AudioTracks
track.attach(element);
});
participant.on('trackRemoved', function(track) {
track.detach();
})
}
我自己对React很陌生,但我认为Eddie在他的博客文章中附加媒体的方式,在JSX中使用ref
,然后在组件生命周期事件中使用this. refs.localMedia
来获取对元素的引用并附加媒体,是一种很好的方法。
请注意,该博客文章使用了已弃用的视频对话API,而不是新的房间API。但是参与者/轨道模型和将轨道附加到DOM是相似的。
让我知道这是否有帮助。