android - 更改 jitsi-sdk for android 中的默认摄像头
问题描述
我正在开发自己的视频会议 Android-App 并使用 jitsi-sdk。但我想将智能手机的后置摄像头设置为默认值。用户可以在会议启动后更改它,但我的目标是在会议开始之前在没有用户交互的情况下更改它。
我已经尝试通过创建cameraCapturer/videoCapturer来切换摄像头,但是JitsiMeetActivity会打开前置摄像头。我也尝试使用 putExtra 方法来启动意图。
所以我的活动从 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 之前获取设置?
我希望有一个人可以帮助我。
解决方案
抱歉回答晚了,但我找到了解决方案...您需要自定义 jitsi android sdk,为此您需要 mac,并使用文档进行设置
设置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 的说明:
- 从 github克隆项目
- 在您的终端中的 root jitsi 文件夹中运行npm install
- 在jitsi-meet(root)/android文件夹中,您需要运行以下命令:./android/scripts/release-sdk.sh /tmp/repo
- 从文件夹jitsi-meet(root)/android在 android studio 中构建 android 项目
- 从sdk更改代码
- 通过运行以下命令从文件夹jitsi-meet(root)/android构建 apk : ./gradlew assembleRelease
推荐阅读
- java - Program opening in CMD then closing immediately (java)
- sql-server - Save a Query as stored procedure and let it iterate through an array
- laravel - 无法使用 Vuetify 和 Laravel 读取未定义的属性“t”
- c - Using Recursion to find sum of applicable integers
- javascript - Node.js Mongodb 集成问题;。节省()
- python - 修改嵌套字典中的键和值,其中包含列表
- c# - 不正确的循环导致过多的记录时应该更少
- c++ - 在我给二维向量赋予第一个值后控制台关闭
- asp.net-core-webapi - 调试 asp.net 核心 web API
- python - 在 testing.postgresql 中,在 Docker 中找不到 initdb 命令