如何在 Android PJSIP 中提高麦克风音量?

How to increase Microphone volume level in Android PJSIP?

我已将 PJSIPandroid 集成。在我的应用程序中拨打电话时,扬声器工作正常,但录音 麦克风 音量太 。对方听不到我的声音。

注意:但在某些手机上它工作正常。

即使我尝试使用 adjustStreamVolume()、setStreamVolume()、setMode()、adjustVolume() 方法来提高我的音量水平,但无论如何都没有提高。请给我一个解决此问题的建议,以增加 Android 或 PJSIP 中的麦克风音量级别。

提前致谢。

在我看来setStreamVolume之类的东西更多的是用于扬声器而不是控制麦克风。

PJSIP docs可以看到有一个方法可以调整接收到的信号电平。

您可以像下面这样使用它,其中音量在 02.0 之间。

pjsua_conf_adjust_rx_level(0, volume);

我在一些地方看到您可能需要 root 访问权限才能修改此参数,或者您需要有联发科芯片。

您可以做的是直接增加流的增益。 answer 向您展示了如何做到这一点,增益也在同一范围内。

问题是当我们的应用程序通过麦克风访问时麦克风音量过低。当你的音量较低时,你需要检查多项内容。

其中之一是使用麦克风时的音频管理器模式。

正在获取 Android 音频管理器的模式::

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
long mode = am.getMode();   
Log.e(TAG,"audio mode "+mode);

设置 Android 音频管理器的模式::

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMode(3);

您可以通过上述代码为您的应用访问音频管理器模式。 有
1.MODE_NORMAL
2.MODE_RINGTONE
3.MODE_IN_CALL
4.MODE_IN_COMMUNICATION

P.S. : 每当你改变AudioManager的模式时,请在使用麦克风后改变成MODE_NORMAL否则一旦你将无法工作重启手机。