我正在使用 OpenTok
创建演示图书馆。到目前为止,它已创建并运行良好。
现在我想在视频通话中实现保持/暂停功能。但是我找不到直接的方法来保持通话,或者我们可以说在两者之间暂停视频通话。
我们可以暂停视频通话吗?如果是,那么如何?
有人知道吗?
我引用了这个链接:Putting a video call on hold with OpenTok但它适用于 .js
更新:1
我为所需的对象创建了属性:
var otSession: OTSession!
var otPublisher: OTPublisher!
var otSubscriber: OTSubscriber!
并做了连接 session 和放置委托(delegate)方法所需的代码。
现在点击按钮我想暂停视频通话,为此:
@IBAction func pauseVideo(_ sender: UIButton) {
if otPublisher != nil {
sender.isSelected = !sender.isSelected
otPublisher?.publishVideo = !(otPublisher?.publishVideo)!
}
if sender.isSelected {
self.lblPause.text = "Call paused..!!"
self.lblPause.isHidden = false
otSubscriber.view?.isHidden = true
otSubscriber.view?.backgroundColor = UIColor.black
} else {
self.lblPause.isHidden = true
otSubscriber.view?.isHidden = false
otSubscriber.view?.backgroundColor = UIColor.white
}
}
它工作正常,但现在他们如何知道在第一端视频通话被搁置?
如果一端处于暂停状态,那么另一端也必须隐藏视频 View 并使其变黑。另一端可能是管理面板或移动应用程序。
最佳答案
TokBox 开发者布道者在这里。
OpenTok iOS SDK 还允许您停止发布audio
和 video
使用 publishAudio
和 publishVideo
Publisher
的属性目的。您可以在创建 Publisher
后随时更改这些属性。 .
这不一定会把 Session
暂停,但它会停止向其他参与者发送视频和音频。您必须创建自己的自定义逻辑,在其中显示一条消息或图标,指示在未发布音频和视频时 session 处于暂停状态。
更新 1(基于问题的变化):
你可以实现key value observing查看流属性(即视频或音频)是否已更改。此实现将允许您查看某人何时停止或开始发布视频。有关示例实现,请参阅 OpentTok (iOS) How to subscribe to hasAudio stream changes .
关于ios - 我们可以在 iOS 中使用 toxbox/OpenTok 暂停视频通话吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52948290/