Я пытаюсь записать голосовой звонок на Android. Для этого я использую класс AudioRecord/API Android. Но по какой-то причине AudioRecord не может записывать голосовые вызовы на некоторых устройствах (особенно в последних версиях ОС 6.0, 7.0). Всякий раз, когда я устанавливаю для параметра AudioSource объекта AudioRecord значение «VOICE_CALL», т.е. (MediaRecorder.AudioSource.VOICE_CALL), это дает мне это исключение
java .lang.IllegalStateException: startRecording() вызывается
неинициализированной AudioRecord
Но когда я устанавливаю аудиоисточник на «MIC» , он работает нормально, но, конечно, не записывает голосовой вызов.
Я пытался использовать класс MediaRecord для Android, но столкнулся с той же проблемой, т.е. отлично работает для «MIC» ", но отсутствует "VOICE_CALL". Я также попробовал множество доступных решений на нескольких форумах, но все равно безуспешно.
Ниже я поделился небольшим фрагментом своего кода. Любая помощь в этом вопросе будет высоко оценена. Спасибо
recorder = new AudioRecord(MediaRecorder.AudioSource.VOICE_CALL,
44100, AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, AudioRecord.getMinBufferSize(44100,AudioFormat.CHANNEL_IN_MONO,AudioFormat.ENCODING_PCM_16BIT));
recorder.startRecording();
Подробнее здесь: https://stackoverflow.com/questions/496 ... udiorecord