Android: AudioFlinger не может создать дорожку записи, статус: -1

Я разработал приложение для Android (Home Noise Alert), и оно отлично работает на многих устройствах. Но теперь я получил отчет об ошибке от пользователя, который использует следующее устройство:

ANDROID_VERSION=6.0.1
PHONE_MODEL=HTC One A9

Добрый Пользователь прислал мне отчет об ошибке, но я его не понимаю. Он получил эту ошибку, если он запустил приложение.

Это журнал ошибок:

02-05 18:42:41.501 E/AudioRecord( 6200): AudioFlinger could not create record track, status: -1
02-05 18:42:41.505 E/AudioRecord-JNI( 6200): Error creating AudioRecord instance: initialization check failed with status -1.
02-05 18:42:41.505 E/android.media.AudioRecord( 6200): Error code -20 when initializing native AudioRecord object.
02-05 18:42:41.505 E/android.media.AudioRecord( 6200): startRecording() called on an uninitialized AudioRecord.

Я считаю, что эта ошибка возникает, если микрофон заблокирован другим приложением. Есть ли у кого-нибудь опыт с такими ошибками?


person thinker    schedule 06.02.2016    source источник


Ответы (2)


Зайдите в Настройки/Приложения/Ваше приложение/Разрешения и включите микрофон.

person Jim Chen    schedule 08.04.2016
comment
Бадди помог как шарм - person Santhosh_Reddy; 25.04.2016

В последних версиях Android кажется, что повторная отправка apk из Android Studio после изменения разрешений в манифесте фактически не меняет разрешения в настройках приложения. Вот почему приведенный выше ответ сработал для меня. Я создал приложение без разрешения RECORD_AUDIO в своем манифесте и увидел ошибку разрешения в своем журнале (вместе с ошибками в OP). Я добавил разрешение в свой манифест и перезапустил приложение на устройстве, ошибки разрешения в журнале больше не было, но я все еще получал ошибки в OP. Я зашел в «Система», «Приложения», «Диспетчер приложений» -> «Мое приложение» -> «Разрешения» и увидел, что «Запись аудио» есть в списке, но все еще отключена. Включение вручную это исправило.

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

person Dave Hooper    schedule 20.05.2016
comment
Этот ответ был рассмотрен модератором. - person Robert Harvey; 21.05.2016