【发布时间】:2023-03-05 09:57:02
【问题描述】:
我正在开发 pjsip 视频通话应用程序。我想在通话中切换预览摄像头。
这是我正在尝试的代码。
private void switchCamera(boolean isFront) {
try {
int w = (int) SipCallService.currentCall.vidPrev.getVideoWindow()
.getInfo().getSize().getW();
int h = (int) SipCallService.currentCall.vidPrev.getVideoWindow()
.getInfo().getSize().getH();
if (isFront) {
PjCamera camera = new PjCamera(0, w, h, 0, 0, 0,
mSurfaceCapture);
camera.SwitchDevice(0);
} else {
PjCamera camera = new PjCamera(0, w, h, 0, 0, 0,
mSurfaceCapture);
camera.SwitchDevice(1);
}
} catch (Exception e) {
e.printStackTrace();
showToast("Error while switching camera");
}
}
PjCamera 是 pjsip 提供的类。
我无法使用上述代码切换相机。
如果有其他方法,请指导我。
【问题讨论】:
-
我相信你应该使用一个 PjCamera 实例并且只调用 SwitchDevice(0) 或 SwitchDevice(1)。但是在您的代码中还有另一个潜在问题:前置或后置摄像头可能不支持尺寸 (w,h)。
-
@AlexCohn 你能帮我获取 PjCamera 的实例吗,我很难得到它。如果能在这里贴个代码sn-p就好了
-
您好,我也在寻找相同的解决方案,到目前为止运气好吗?
标签: android android-camera surfaceview sip pjsip