我一直在使用libjingle在四个用户之间建立对等连接以共享数据并启动音频通道.大部分时间都可以正常工作,但是有一个用户的回声问题,这使得呼叫非常不稳定并且很难听取用户的意见.
我试过添加
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true"));
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true"));
Run Code Online (Sandbox Code Playgroud)
我在可选参数中添加这些约束,以防我在强制中添加它们断开调用并抛出onRenegotiationNeeded方法.
我列举了一些案例,例如:
1)这可能是1个用户处于扬声器(或耳机足够大)的原因,语音在麦克风中注册并产生回声.(但有时它也没有这个原因)
2)可能有1个音频通道注册两次,并创建一个混响效果,同一用户发送两次数据通道.(无法找到如何调试,我计算音频通道,它们是正常的)
3)两个用户在同一个房间并且发生回声(这是正常情况发生但不是一个问题,因为它不可避免)
我正在寻找建议或解决方案,以防其他人遇到Android webRTC库的此类问题.
implementation 'io.pristine:libjingle:9694@aar'
Run Code Online (Sandbox Code Playgroud)
我起诉的图书馆是这样的,但我也发现最近的webRTC官方图书馆最近更新了,会迁移到那个解决任何这样的问题吗?
我找到的最新图书馆是:
implementation 'org.webrtc:google-webrtc:1.0.22672'
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.
谢谢
我正在创建一个联系人应用程序,但想要从我的应用程序添加联系人在本机Android联系人应用程序,就像Skype或WhatsApp.我需要扩展哪个类来实现此功能?
这是我想要创建的图片:

我正在开发一个大型项目,其中有多个管理器来处理不同的任务,当我启动应用程序时,我只需要创建这些管理器的一个对象,
我遇到了这种单例创建方法
class QuestionnaireManager {
constructor() {
if (this.instance) {
return;
}
this.instance = this;
}
}
Run Code Online (Sandbox Code Playgroud)
这是一种可以接受的方式吗?有什么缺点吗?我来自JAVA Kotlin背景,这似乎很简单,因为我们在其他语言的单例情况下需要处理很多事情。(大多数情况都必须处理多线程,但由于 JS 是单线程的,所以我认为这已经足够了)
仍然需要关于最佳实践或任何其他依赖注入方法的意见,在这些方法中我们甚至不依赖单例,而是创建一次对象并通过依赖注入在整个项目中重用。
我想知道JS中sensie的意见。