2017-05-09 210 views
5

我有集成PJSIPandroid。在撥打我的應用程序時,揚聲器工作正常但錄音麥克風音量太。我的聲音不能被對方所唾棄。如何增加Android PJSIP中的麥克風音量?

注意:但在某些手機中它正常工作。

即使我試圖與adjustStreamVolume(),setStreamVolume(),setMode(),adjustVolume()方法來提高我的音量級別,但它無論如何也不能增加。請給我一個解決這個問題的建議,以增加Android或PJSIP中的麥克風音量。

在此先感謝。

+0

當你說〜「**在某些手機中工作正常**」時,你的意思是什麼設備? –

+2

在moto e3 power中,redmi 3s主要手機的麥克風音量處於可接受的水平。但在聯想k5加上麥克風音量非常低。我不知道如何增加麥克風的音量。 – NandhaKumar

回答

2

問題是當我們的應用程序通過麥克風訪問時,麥克風音量級別太低。當你的音量很低時,你需要檢查多件事情。

當使用麥克風時,其中之一是MODE OF THE AUDIO MANAGER。

獲取Android的音頻管理器:: Android的音頻管理器::

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

您可以通過該訪問音頻管理模式的

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

設定模式的模式以上代碼爲您的應用程序。 有
1.MODE_NORMAL
2.MODE_RINGTONE
3.MODE_IN_CALL
4.MODE_IN_COMMUNICATION

附::每當您更改AudioManager的模式時,請在使用麥克風後更改爲MODE_NORMAL,否則一旦重新啓動移動設備將無法使用。

3

看起來對我來說setStreamVolume等更多地用於揚聲器而不是控制麥克風。

PJSIP docs,你可以看到有一種方法可以調整接收到的信號電平。

您可以像下面一樣使用它,其體積介於02.0之間。

pjsua_conf_adjust_rx_level(0, volume); 

我在這,你可能需要root訪問權限無論如何修改該參數少數地方看到,或者你需要有一個聯發科的芯片。

您可以做的是直接增加您流中的收益。這answer告訴你如何做到這一點,其中增益也在同一範圍內。

+0

這會利用來自audiodev.h的** PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER **常量嗎? –

+1

@IgorGanapolsky通過查看調用的'pjmedia_conf_adjust_rx_level'和[this line](https://github.com/chakrit/pjsip/blob/b0af6c8fc8ed97bb03d3afa4ab42c24f46a9212b/pjmedia/src/pjmedia/conf_switch.c#L989),我不會我認爲情況並非如此。 –

+0

@IgorGanapolsky PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER僅供演講人知道,但我想要增加麥克風音量。 – NandhaKumar