Pjsip Android视频通话:倒置视频预览

时间:2019-09-13 06:58:42

标签: android pjsip pjsua2

  

我正在使用Pjsip库进行SIP视频通话。我面临问题   在 SurfaceView 中显示我自己的视图。

这是图片:

image

预期视图:

Expected view 在onCallMediaState中获取预览ID

@JsonIgnoreProperties(ignoreUnknown = true)

我用来在SurfaceView中显示此预览的代码:

mVideoPreview = VideoPreview(mediaInfo.videoCapDev)
mVideoWindow = VideoWindow(mediaInfo.videoIncomingWindowId)

我知道另一边的人总是会收到我视频的镜子视图。但是在我的自己的观点的情况下,这应该不会发生。 我的感觉是我正在显示发送给其他人的预览。关于如何使用Pjsip库显示我自己的视图(无镜像效果),我没有任何提示。

有人可以帮我吗?

2 个答案:

答案 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)