【发布时间】:2023-03-14 05:35:01
【问题描述】:
我正在使用 Pjsip 库实现 SIP 视频通话。
我的视图已成功传输给其他人,但我想要在我的屏幕上显示我的相机视图(类似于 WhatsApp)。
我发现Pjsip 正在使用相机 来传输视图。如何使用 Pjsip 库在 SurfaceView 中显示我的相机视图(因为我不能使用多个相机实例)?
我已经尝试过使用以下代码:
fun updateVideoPreview(holder: SurfaceHolder) {
if (SipManager.getInstance()?.activeCalls?.get(callId) != null &&
SipManager.getInstance()?.activeCalls?.get(callId)?.mVideoWindow != null &&
SipManager.getInstance()?.activeCalls?.get(callId)?.mVideoPreview != null) {
if (videoPreviewActive) {
val vidWH = VideoWindowHandle()
vidWH.handle?.setWindow(holder.surface)
val vidPrevParam = VideoPreviewOpParam()
vidPrevParam.window = vidWH
vidPrevParam.show = true
try {
SipManager.getInstance()?.activeCalls?.get(callId)?.mVideoPreview?.start(vidPrevParam)
} catch (e: Exception) {
println(e)
}
} else {
try {
SipManager.getInstance()?.activeCalls?.get(callId)?.mVideoPreview?.stop()
} catch (e: Exception) {
println(e)
}
}
}
}
当我执行这段代码时,我发现是传输到另一端的预览(镜像效果),但我想要的是我自己的视图。
谁能帮我解决这个问题?
【问题讨论】: