如何在 Android PJSIP 中提高麦克风音量?
How to increase Microphone volume level in Android PJSIP?
我已将 PJSIP 与 android 集成。在我的应用程序中拨打电话时,扬声器工作正常,但录音 麦克风 音量太 低。对方听不到我的声音。
注意:但在某些手机上它工作正常。
即使我尝试使用 adjustStreamVolume()、setStreamVolume()、setMode()、adjustVolume() 方法来提高我的音量水平,但无论如何都没有提高。请给我一个解决此问题的建议,以增加 Android 或 PJSIP 中的麦克风音量级别。
提前致谢。
在我看来setStreamVolume
之类的东西更多的是用于扬声器而不是控制麦克风。
从PJSIP docs可以看到有一个方法可以调整接收到的信号电平。
您可以像下面这样使用它,其中音量在 0
和 2.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否则一旦你将无法工作重启手机。
我已将 PJSIP 与 android 集成。在我的应用程序中拨打电话时,扬声器工作正常,但录音 麦克风 音量太 低。对方听不到我的声音。
注意:但在某些手机上它工作正常。
即使我尝试使用 adjustStreamVolume()、setStreamVolume()、setMode()、adjustVolume() 方法来提高我的音量水平,但无论如何都没有提高。请给我一个解决此问题的建议,以增加 Android 或 PJSIP 中的麦克风音量级别。
提前致谢。
在我看来setStreamVolume
之类的东西更多的是用于扬声器而不是控制麦克风。
从PJSIP docs可以看到有一个方法可以调整接收到的信号电平。
您可以像下面这样使用它,其中音量在 0
和 2.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否则一旦你将无法工作重启手机。