我希望暂停和取消视频传输在视频通话中的飞行,而不放弃音频调用使用安卓Pjsua2库。但也有一些原因,我无法理解如何实现该功能来示例安卓pjsua2应用。任何帮助都将不胜感激。
我看了下面的文档,无法理解..how来实现它。
枚举pjsua_call_vid_strm_op此枚举表示对调用的视频流操作。 PJSUA_CALL_VID_STRM_START_TRANSMIT开始传输视频流。这将导致先前停止的流再次开始传输。请注意,不会将重新邀请/更新传输到远程,因为此操作仅在本地流上运行。 PJSUA_CALL_VID_STRM_STOP_TRANSMIT停止传输视频流。这将导致流在TX方向暂停,导致它停止发送任何视频数据包。此操作不会将重新邀请/更新传输到远程。
链接文档
发布于 2020-10-08 09:19:12
请考虑以下代码:
fun strmStopTransmit() {
if (manager.isCaptureActive(camDevId)) {
val callVidPrm = CallVidSetStreamParam()
callVidPrm.setCapDev(camDevId)
call.vidSetStream(pjsua_call_vid_strm_op.PJSUA_CALL_VID_STRM_STOP_TRANSMIT, callVidPrm)
}
}其中manager是pj::VidDevManager (链接)的实例(可以从pj::Endpoint (链接)获得),call是pj::Call (链接)的实例。
反函数(恢复传输)的实现是显而易见的。
祝好运!
发布于 2020-09-03 10:20:29
这份文件太长,不恰当。我也经历过同样的问题。
以下几点可能对你有帮助:
SipManager.getInstance()?.activeCalls?.get(callId)?.mVideoPreview?.stop()这里,activeCalls是MyCall的实例。
https://stackoverflow.com/questions/63702759
复制相似问题