私は自動コールレコーダーアプリを使用していますが、私はMediaRecorderクラスを使ってマネージドレコードボイスを使用していますが、ここでは受信ボイスが録音されず、スピーカーモードではありません。私にこれを手伝ってください。 (私はXiaomi Mi Max(アンドロイド7)を試していましたが、動作しませんでした)。自動コールレコーダーAndroid7(Xiaomi Mi Max)の音量が小さい
は私がそのコードを使用しますが、私はそれはあなたがあなたのプログラムのパラメータとして使用しているaudioSource
に依存だと思うソリューション
public void startRecorderSource(String mFileName, int audioSource, int outputFormat)
{
try
{
mRecorder = null;
mRecorder = new MediaRecorder();
Log.e(TAG, "startRecorderSource: audio source "+audioSource);
Log.e(TAG, "startRecorderSource: output format "+outputFormat);
mRecorder.setAudioSource(audioSource);
mRecorder.setOutputFormat(outputFormat);
// mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setAudioEncodingBitRate(12000);
} else {
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mRecorder.setAudioEncodingBitRate(64000);
}
mRecorder.setAudioSamplingRate(12000);
mRecorder.setOutputFile(mFileName);
mRecorder.prepare();
mRecorder.start();
am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, 100, 0);
am.setMode(2);
Log.d(TAG, "startRecorder() :: successfully");
} catch (IOException e) {
e.printStackTrace();
}
}