Aumentar a saída de volume do áudio gravado

Estou tentando fazer um aplicativo de gravação de chamadas no Android. Estou usando o alto-falante para gravar áudio uplink e downlink. O único problema que estou enfrentando é que o volume está muito baixo. Aumentei o volume do dispositivo usando o AudioManager ao máximo e ele não pode ir além disso.

Eu usei o MediaRecorder pela primeira vez, mas como ele tinha funções limitadas e fornece áudio compactado, tentei com o AudioRecorder. Ainda não descobri como aumentar o áudio. Também verifiquei projetos no Github, mas não adianta. Pesquisei no stackoverflow nas últimas duas semanas, mas não consegui encontrar nada.

Tenho certeza de que é possível, pois muitos outros aplicativos estão fazendo isso. Por exemplo, o gravador de chamadas automático faz isso.

Entendo que tenho que fazer algo com o buffer de áudio, mas não tenho muita certeza do que precisa ser feito. Você pode me guiar nisso?

Atualizar:-
Lamento ter esquecido de mencionar que já estou usando o Gain. Meu código é quase semelhante aRehearsalAssistant (na verdade, eu derivei de lá). O ganho não funciona para mais de 10dB e isso não aumenta muito o volume do áudio. O que eu queria é que eu pudesse ouvir o áudio sem colocar o ouvido no alto-falante, o que falta no meu código.

Fiz uma pergunta semelhante sobre o funcionamento do volume / volume no SoundDesign SEaqui. Menciona que o ganho e o volume estão relacionados, mas não define o nível de volume real. Não tenho certeza de como as coisas funcionam, mas estou determinado a obter o volume alto.

questionAnswers(4)

yourAnswerToTheQuestion