получить аудио вход, работающий из эмулятора. К сожалению, это не всегда так просто, как подключить микрофон. Некоторые машины, очевидно, имеют проблемы с этим. На моем MacBook Pro он отлично работает под OSX, но под моей Windows 7 VM - нет. Аудио вход был указан как ограничение в документации до недавнего времени.

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

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

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

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

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

Почему это?

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

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

Конечно, это сработало для кого-то. Есть ли способ заставить Speech Recorder работать для меня тоже?

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

ОбновитьЯ последовал предложению @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

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

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

Но опять вопрос: почему?

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

Ответы на вопрос(1)

Ваш ответ на вопрос