我已经调试了好几天了,不再有太多选择,因此有一个长镜头的问题 - 我正在使用React Native的ConnectyCube WebRTC视频通话包。我还尝试使用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 来修复,如下所述:
如何清除gradle缓存?