我一直在调试这个,不再有很多选择,因此是一个长期问题 - 我正在使用 ConnectyCube WebRTC 视频调用 package 进行 React Native。我还尝试使用
react-native-webrtc
包从我的 Android 设备流式传输视频。
使用这两个包时,当我调用 getUserMedia 方法时,我的应用程序崩溃,没有任何日志或错误。我必须再次构建应用程序才能使用它。
这里是我之前的一篇文章,描述了我之前遇到的问题 - 但是,如果您从上面的链接下载并构建 ConnectyCubes 应用程序,他们的应用程序可以工作 - 我不明白为什么我的应用程序不能。
所以我的问题是,是否有任何我应该检查的与 React Native 中的
getUserMedia
调用相关的内容可能会阻止它工作?
我正在使用:
RN v0.59.9
gradle wrapper 5.4.1
classpath(“com.android.tools.build:gradle:3.4.1”)
buildToolsVersion = “28.0.3”
compileSdkVersion = 28
我已寻求支持,但尚未解决。
奇怪的是,我无法在函数中的某些点记录
session
参数。
const getUserMedia = session => {
console.log(session); // logs here
return new Promise((resolve, reject) => {
console.log(session); // but not here
session.getUserMedia({
audio: true,
video: { facingMode: 'user' }
}, function (error, stream) {
console.log(error, stream) // or here
error ? reject(error) : resolve(stream);
});
});
}
#更新# 上述函数的问题可能是由于某种原因在控制台打印出任何内容之前发生了崩溃。
通过删除 gradle 缓存并运行 npm i 已修复此问题,如下所述: