我正在使用Pjsip库进行SIP视频通话。我面临问题 在 SurfaceView 中显示我自己的视图。
这是图片:
预期视图:
@JsonIgnoreProperties(ignoreUnknown = true)
我用来在SurfaceView中显示此预览的代码:
mVideoPreview = VideoPreview(mediaInfo.videoCapDev)
mVideoWindow = VideoWindow(mediaInfo.videoIncomingWindowId)
我知道另一边的人总是会收到我视频的镜子视图。但是在我的自己的观点的情况下,这应该不会发生。 我的感觉是我正在显示发送给其他人的预览。关于如何使用Pjsip库显示我自己的视图(无镜像效果),我没有任何提示。
有人可以帮我吗?
答案 0 :(得分:1)
您可以将TextureView用作预览,而不是使用SurfaceView,然后再将其翻转。看看How to keep android from inverting the image from the front facing camera?作为参考
答案 1 :(得分:1)
我所做的是将SurfaceView替换为TextureView,然后检查:
if (isFrontCamera) {
val matrix = Matrix()
matrix.setScale(-1.0f, 1.0f)
matrix.postTranslate(width.toFloat(), 0.0f)
surfacePreviewCapture.setTransform(matrix)
}
它奏效了。 希望它能帮助别人。 :)
====== 更新 ======
当我检查后置摄像头时,视图也被翻转到那里,因此我需要这样做以使其正确:
surfacePreviewCapture.setTransform(null)