使用 OpenTok 暂停视频通话

Putting a video call on hold with OpenTok

我一直在研究 webRTC 平台,发现 OpenTok 似乎提供了最可定制的功能。在我深入研究它之前,我想确保它可以执行一个关键要求:

在两个用户 A 和 B 之间的一对一视频通话期间,我希望这些用户之一(让用户 A 去)能够接听来自第三方的电话(让呼叫第三方用户C)。当 A 接到 C 的电话时,在与 B 的通话中,我希望 A 能够暂停与 B 的通话并接听 C 的电话。如果 A 也可以向 B 发送视频,那就太好了B 可以在 A 与 C 交谈时观看某些内容。

谢谢!

是的,只要在您的应用程序中进行一些开发工作,这些事情就可以实现。 OpenTok 通话设置为会话,这更像是一个电话会议,每个人都可以看到彼此。

考虑到这一点,我实现它的方法是有 2 个 session。 1 个用于用户 A 和 B 之间的调用,然后另一个用于 A 和 C 之间的调用。作为应用程序的开发人员,您的工作是在调​​用时向用户提供 OpenTok session id电话。您可以使用自己的信号逻辑(例如使用 socket.io)来执行此操作。

然后要让某人保持通话状态,您可以暂停 Publisher 上的音频和视频(使用 publishVideo(false) and publishAudio(false)) and then the other participant will get a message saying that the audio/video has been paused (streamPropertyChanged)。此时在您的应用程序中,您可以开始为处于等待状态的用户播放视频。