Почему невозможно использовать диктофон в эмуляторе Android?


Я пытаюсь запустить диктофон, который поставляется с эмулятором Android 2.2. Проблема в том, что в тот момент, когда я нажимаю кнопку "Запись":

Введите описание изображения здесь

Он прерывается сообщением об ошибке " приложение Speech Recorder (process com.андроид.speechrecorder) неожиданно остановился. Пожалуйста, попробуйте еще раз."

Введите описание изображения здесь

Проблема в том, что повторная попытка не помогает.

Теперь я искал StackOverflow и прочесал весь интернет, и я нашел много отчетов одной и той же проблемы, без какого-либо рабочего решения.

Мой вывод заключается в том, что по какой-то странной причине эмулятор Android способен использовать аудиоустройство Windows для вывода, но не для ввода.

Почему это?

Я знаю, что другие программы виртуализации (например, VMWare) не имеют проблем с использованием как выходных, так и входных секций аудиоустройства хоста.

Кроме того, если диктофон никогда ни для кого не работал в эмуляторе, зачем его туда класть?

Наверняка это работал на кого-то. Есть ли способ заставить диктофон работать и для меня?

Я использую 32-разрядную версию Windows XP, и мой AVD определяется с помощью SD-карты (монтируется при запуске).

Update : я последовал предложению @Klaus попробовать и посмотреть, будут ли какие-либо исключения. Я сделал это, просто набрав ddms.bat В командной строке для запуска автономной версии DDMS (с дисплеем logcat внизу). Конечно же, я получаю следующее исключение на нажатие кнопки "запись":

03-29 14:16:58.195: ERROR/AudioRecord(303): Could not get audio input for record source 1
03-29 14:16:58.195: ERROR/srec_jni(303): initCheck error -22 
03-29 14:16:58.205: DEBUG/SpeechRecorderActivity(303): run audio capture thread
03-29 14:16:58.205: WARN/dalvikvm(303): threadid=8: thread exiting with uncaught exception (group=0x4001d800)
03-29 14:16:58.215: ERROR/AndroidRuntime(303): FATAL EXCEPTION: Thread-9
03-29 14:16:58.215: ERROR/AndroidRuntime(303): java.lang.NullPointerException
03-29 14:16:58.215: ERROR/AndroidRuntime(303):     at com.android.speechrecorder.SpeechRecorderActivity$4.run(SpeechRecorderActivity.java:192)
03-29 14:16:58.285: WARN/ActivityManager(59):   Force finishing activity com.android.speechrecorder/.SpeechRecorderActivity
03-29 14:16:58.904: DEBUG/dalvikvm(59): GC_FOR_MALLOC freed 13324 objects / 656184 bytes in 197ms
03-29 14:16:59.915: INFO/ARMAssembler(59): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x20db68:0x20dc24] in 1247352 ns
03-29 14:17:05.251: DEBUG/SpeechRecorderActivity(303): stopRecording

Как мне действовать дальше? Я не писал приложение для записи речи, поэтому я не знаю, что вызывает исключение NullPointerException в SpeechRecorderActivity.строка 192 java. Я полагаю, что это как-то связано с более ранним сообщением logcat:

Не удалось получить аудиовход для записи Источник 1

Но снова возникает вопрос: почему?

Почему он не смог "получить аудиовход для источника записи 1"?

1 12

1 ответ:

Причина, по которой у вас возникла эта проблема, заключается в том, что эмулятор не имеет аудиовхода для подключения. Лучше всего подключить реальное устройство и провести тестирование там.