更改 android jitsi-sdk 中的默认摄像头

问题描述 投票:0回答:2

我正在开发自己的视频会议 Android 应用程序并使用 jitsi-sdk。 但我想将智能手机的后置摄像头设置为默认值。用户可以在会议启动后更改它,但我的目标是在会议开始之前更改它,而无需用户交互。

我已经尝试通过创建cameraCapturer/videoCapturer来切换摄像头,但是JitsiMeetActivity打开了前置摄像头。我还尝试使用 putExtra-method 来实现启动意图。

因此,我的 Activity 从 JitsiMeetActivity 扩展而来,在设置 JitsiMeetConferenceOptions 后,会议启动如下:

   Intent intent = new Intent(context, JitsiMeetActivity.class);
   intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   intent.setAction("org.jitsi.meet.CONFERENCE");
   intent.putExtra("JitsiMeetConferenceOptions", options);
   startActivity(context, JitsiMeetActivity); 

此后,我无法以编程方式更改任何内容。

有什么办法可以在JitsiMeetActivity打开之前获取设置吗?

我希望有人能帮助我。

android react-native jitsi jitsi-meet
2个回答
1
投票

抱歉回答晚了,但我找到了解决方案...您需要自定义 jitsi android sdk,为此您需要 mac,并使用 docs

设置它

设置好sdk后,只需更改react-native-webrtc lib文件夹下CameraCaptureController.java中的一行代码即可

从此:

@Override
protected VideoCapturer createVideoCapturer() {
    String deviceId = ReactBridgeUtil.getMapStrValue(this.constraints, "deviceId");
    String facingMode = ReactBridgeUtil.getMapStrValue(this.constraints, "facingMode");
    return createVideoCapturer(deviceId, facingMode);
}

对此:

@Override
protected VideoCapturer createVideoCapturer() {
    String deviceId = ReactBridgeUtil.getMapStrValue(this.constraints, "deviceId");
    String facingMode = ReactBridgeUtil.getMapStrValue(this.constraints, "facingMode");
    return createVideoCapturer(deviceId, "environment");
}

并在终端中执行:./gradlew assembleRelease

构建自己的jitsi-meet-sdk的说明:

  1. 克隆来自github的项目
  2. 在终端的 root jitsi 文件夹中运行 npm install
  3. jitsi-meet(root)/android 文件夹中,您需要运行以下命令: ./android/scripts/release-sdk.sh /tmp/repo
  4. 从文件夹
  5. jitsi-meet(root)/android在android studio中构建android项目
  6. sdk更改代码
  7. 从文件夹
  8. jitsi-meet(root)/android构建apk并运行以下命令:./gradlew assembleRelease

0
投票
我发现您可以使用

facingMode

功能更改
user
配置(
environment
用于前置摄像头或
setConfigOverride
用于后置摄像头)

JitsiMeetConferenceOptions options = new JitsiMeetConferenceOptions.Builder() .setRoom(roomName) .setServerURL(serverUrl) .setToken(token) .setConfigOverride("cameraFacingMode", "environment") .build(); JitsiMeetActivity.launch(this, options);
    
© www.soinside.com 2019 - 2024. All rights reserved.