без запуска activity? Жалуется что uninitialized
а как требует инитить?
java.lang.IllegalStateException: startRecording() called on an uninitialized AudioRecord
ну, так. в доках написано должно быть как инитить его
recorder = AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement); recorder.startRecording() сделал как написано, если перед этим запустить активити - всё ок. Не работает если запускается только сервис
а уже гуглил ? че говорят? audioRecord init in service
Уверены, что обращаетесь к нему после инициализации? Попробуйте перенести инициализацию в by lazy, чтобы быть уверенным
да, обложил логгером, пробовал выносить инициализацию в блок init и пробовал в application создавать
В init не надо. Именно в by lazy
то же самое, единственное, перед ошибкой есть ещё строки: E/IAudioFlinger: createRecord returned error -1 E/AudioRecord: createRecord_l(113): AudioFlinger could not create record track, status: -1 E/AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1. E/android.media.AudioRecord: Error code -20 when initializing native AudioRecord object. после этого идёт ошибка инициализации
Ну тогда не могу подсказать, не работал с AudioRecord. Видимо не нравится ему работа в сервисе.
я не совсем понял. Вы не можете запустить AudioRecord в сервисе что ли?
не могу запустить в сервисе без предварительно запущенной активити
Привет, запускаешь сервис привязываешь уведомление, отвязываешь от активити
он не будет стопиться дройдом потом
этот кейс всё ещё предполагает явный вызов activity, сейчас foreground сервис запускается при старте системы (в новых версиях вызов активити при запуске запрещён)
https://www.dev2qa.com/how-to-start-android-service-automatically-at-boot-time/ попробуй через броадкаст ресивер словить старт и в нем сервис запустить, а в сервисе уведомление показать
с автозапуском проблем нет. Проблема в том, что в запущенном при старте системы foreground сервисе не инициализируется AudioRecord. Я предполагаю что проблема в том, что под капотом там используется ActivityThread, а в моём случае никакая activity не создаётся
Обсуждают сегодня