Pjsip Android 视频通话:反转视频预览 [英] Pjsip Android Video Call: Inverted Video Preview
问题描述
我正在使用 Pjsip 库进行 SIP 视频通话.我面临问题在 SurfaceView 中显示我自己的视图.
I am using Pjsip library for SIP Video call. I am facing issue displying my own view in a SurfaceView.
图片如下:
预期视图:
在 onCallMediaState 中获取预览 ID
Fetching Preview ID in onCallMediaState
mVideoPreview = VideoPreview(mediaInfo.videoCapDev)
mVideoWindow = VideoWindow(mediaInfo.videoIncomingWindowId)
我用来在 SurfaceView 中显示此预览的代码:
Code I have used to display this preview in my SurfaceView:
fun updateVideoPreview(holder: SurfaceHolder) {
if (SipManager.currentCall != null &&
SipManager.currentCall?.mVideoPreview != null) {
if (videoPreviewActive) {
val vidWH = VideoWindowHandle()
vidWH.handle?.setWindow(holder.surface)
val vidPrevParam = VideoPreviewOpParam()
vidPrevParam.window = vidWH
try {
SipManager.currentCall?.mVideoPreview?.start(vidPrevParam)
} catch (e: Exception) {
println(e)
}
} else {
try {
SipManager.currentCall?.mVideoPreview?.stop()
} catch (e: Exception) {
println(e)
}
}
}
}
我知道另一边的人总是会看到我视频的镜像视图.但在我自己的观点的情况下,这不应该发生.我的感觉是我正在显示发送给其他人的预览.我没有得到关于如何使用 Pjsip 库显示我自己的视图(没有镜像效果)的任何提示.
I know that the person on other side will always recieve mirror view of my video. But in case of my own view, this should not happen. What I feel is I am displaying the preview which is sent to the other person. I am not getting a single hint about how to display my own view(without mirror effect) using Pjsip library.
有人可以帮我解决这个问题吗?
Can anyone please help me with this?
推荐答案
我所做的是用 TextureView 替换 SurfaceView 然后检查:
What I did is replaced SurfaceView with TextureView and then check:
if (isFrontCamera) {
val matrix = Matrix()
matrix.setScale(-1.0f, 1.0f)
matrix.postTranslate(width.toFloat(), 0.0f)
surfacePreviewCapture.setTransform(matrix)
}
它奏效了.希望它能帮助别人.:)
And it worked. Hope it help others. :)
====== 更新 ======
====== UPDATE ======
当我检查我的后置摄像头时,视图也在那里翻转,所以我需要这样做以使其正确:
When I checked my back camera, the view was also flipped over there so I need to do this to make it proper:
surfacePreviewCapture.setTransform(null)
这篇关于Pjsip Android 视频通话:反转视频预览的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!