ios - Twilio 通话暂停 ios
问题描述
我试图在用户离开视图时立即暂停 Twillio 呼叫,无论是由用户还是被任何中断(如接到另一个电话)。
func addObservers() {
NotificationCenter.default.addObserver(self,
selector: #selector(applicationDidBecomeActive),
name: UIApplication.didBecomeActiveNotification,
object: nil)
NotificationCenter.default.addObserver(self,
selector: #selector(applicationDidInActive),
name: UIApplication.didEnterBackgroundNotification,
object: nil)
}
func removeObservers() {
NotificationCenter.default.removeObserver(self, name: UIApplication.didBecomeActiveNotification, object: nil)
NotificationCenter.default.removeObserver(self, name: UIApplication.didEnterBackgroundNotification, object: nil)
}
@objc fileprivate func applicationDidBecomeActive() {
printLog(log: "=============applicationDidBecomeActive========")
holdCall(onHold: false)
}
@objc fileprivate func applicationDidInActive() {
printLog(log: "==============applicationDidInActive============")
holdCall(onHold: true)
}
在 android 中,相同的行为会以某种方式触发在后端注册的事件trackUnsubscribed
room.on('trackUnsubscribed', function (track, participant) {
isJoin = true;
dePopulatScreen();
if ( $('#video-error').hasClass("display-view") ) {
$('#video-error').removeClass('display-view');
}
$('#video-error #supported div img').css('display', 'none');
document.getElementById('video-error-message').innerHTML = 'Call has been placed on hold by the patient. Please wait it will automatically reconnect shortly.'
detachTracks([track]);
});
我怎样才能在ios中实现同样的效果
解决方案
为了保持通话,我们需要将音频和视频流取消发布和发布
if let participant = self.room?.localParticipant, let videoTrack = self.localVideoTrack , let audioTrack = self.localAudioTrack{
if(onHold){
participant.unpublishVideoTrack(videoTrack)
participant.unpublishAudioTrack(audioTrack)
}
else{
participant.publishVideoTrack(videoTrack)
participant.publishAudioTrack(audioTrack)
}
}
推荐阅读
- security - 如何在 suricata.yml 的 HOME_NET 中定义几个地址?
- c# - 列表未设置值到演示者的控件
- javascript - 使用 pdf.js 在带有加载的 pdf 文件的画布中绘制矩形
- java - 如果客户端在密钥库中有多个证书,将选择哪个 SSL 证书
- kubernetes - Kubenetes Pod 显示状态“已完成”,没有任何作业
- excel - VBA随机函数问题 - 关闭工作文件时不起作用
- java - 如何在 Liferay 7.2 中使用 DynamicQuery 查询 JournalArticle 的最新版本
- javascript - ${} 模板文字(ES2015)在 jsp 页面下工作
- r - 将闪避和堆栈位置与 ggplot2 组合在同一个条形图中
- regex - 正则表达式中的顺序不重要吗?