gpt4 book ai didi

android - Pjsip 安卓视频通话 : How to display your view in a SurfaceView using Pjsip Library

转载 作者:行者123 更新时间:2023-11-30 05:02:26 24 4
gpt4 key购买 nike

我正在使用 Pjsip 库实现SIP 视频通话

我的 View 已成功传输给其他人,但我想要的是在我的屏幕上显示我的相机 View (类似于 WhatsApp)。

我发现Pjsip 正在使用摄像头 传输 View 。如何使用 Pjsip 库在 SurfaceView 中显示我的相机 View (因为我不能使用相机的多个实例)?

我已经用下面的代码试过了:

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)
}
}
}

当我执行这段代码时,我发现传输到另一端的是预览(镜像效果),但我想要的是我自己的 View 。

谁能帮我解决这个问题?

最佳答案

我这样做了:- 将 SurfaceView 替换为 TextureView 和

if (isFrontCamera) {
val matrix = Matrix()
matrix.setScale(-1.0f, 1.0f)
matrix.postTranslate(width.toFloat(), 0.0f)
surfacePreviewCapture.setTransform(matrix)
}

它对我有用。希望它能帮助别人。

关于android - Pjsip 安卓视频通话 : How to display your view in a SurfaceView using Pjsip Library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com