如何增加Android PJSIP中的麦克风音量?

时间:2017-05-09 04:52:47

标签: android android-studio volume microphone pjsip

我将 PJSIP android 集成在一起。在我的应用程序中拨打电话时,扬声器工作正常,但录制麦克风音量太强。我的声音不能被另一方所能忍受。

注意:但在某些手机中,它运行正常。

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

先谢谢。

2 个答案:

答案 0 :(得分:4)

对我来说setStreamVolume等等更多地用于扬声器而不是控制麦克风。

PJSIP docs,您可以看到有一种方法可以调整收到的信号电平。

您可以像以下一样使用它,其中音量介于02.0之间。

pjsua_conf_adjust_rx_level(0, volume);

我在一些地方看到你可能需要root访问权来修改这个参数,或者你需要一个MediaTek芯片。

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

答案 1 :(得分:3)

问题是当我们的应用程序通过麦克风访问时,麦克风音量级别太低。当你的音量很小时,你需要检查多个东西。

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

获取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,否则在重新启动手机后它将无法正常工作。