karthi72 Ответов: 1

Как исправить запись звонков в последних устройствах android.


Я интегрирую функциональность для записи аудио в сервисе,она работает хорошо и хорошо в устройствах ниже android 10, а также в android 10 аудиофайл генерируется с этим определенным количеством записанного времени, но этот файл производит пустой звук.Я не знаю, где я допустил ошибку.Предложите решение, чтобы избежать этой проблемы.

Что я уже пробовал:

MediaRedorder recorder;

			recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
			recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
			recorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
			recorder.setAudioSamplingRate(32);
			recorder.setAudioEncodingBitRate(160 * 1024);


Это часть mediarecorder для записи аудио и преобразования вывода в формате mp3.

David Crow

"он работает хорошо и хорошо в устройствах ниже android 10, а также в android 10 аудиофайл генерируется с этим определенным количеством записанного времени, но этот файл производит пустой звук."

Таким образом, ваш код работает на устройствах Android 9 и ниже, но на устройствах Android 10 (и выше) аудиофайл не создается. Правильно ли я понимаю?

karthi72

да Дэвид

David Crow

Есть ли какие-то исключения? К чему вы призываете setOutputFile() похож?

karthi72

Да не удалось настроить рекордер и выбрасывает проблему аудиозаписи.
Строку записи="имя_файла.МР3";
File file=новый файл(rec);
диктофон.setOutputFile(отдых);

karthi72

Исправлена ошибка, и аудиофайл генерируется также без записи.

1 Ответов

Рейтинг:
0

Richard Deeming

Вы уверены, что это работает в Android 9 (Pie)? Из того, что я вижу, Google был настроен на то, чтобы запретить фоновым приложениям использовать камеру или микрофон еще в 2018 году:
Android P не позволит приложениям тайно использовать ваш микрофон или камеру в фоновом режиме - The Verge[^]

Я не знаю, есть ли дополнительное разрешение, которое вы можете запросить, чтобы обойти это. Это, конечно, не то, что приложение должно быть в состоянии сделать, не предупредив пользователя.