2011-03-29 2 views
11

Android 2.2 에뮬레이터와 함께 제공되는 음성 녹음기를 실행하려고합니다. 문제는 그 순간 나는 '녹화'버튼을 클릭 있다는 것입니다.Android 에뮬레이터에서 음성 레코더를 사용할 수없는 이유는 무엇입니까?

enter image description here

그것은 오류 메시지 "응용 프로그램을 음성 레코더 (프로세스 com.android.speechrecorder)이 예상치 않게 중지와 함께 중단 다시 시도하십시오. "

enter image description here

문제는 다시 시도하는 것은 도움이되지 않는다는 것입니다.

이제는 StackOverflow를 검색하여 전체 인터넷을 샅샅이 뒤졌고 어떤 해결책도없이 같은 문제에 대한 많은 보고서를 발견했습니다.

필자의 결론에 따르면, 이상한 이유로 안드로이드 에뮬레이터는 Windows 오디오 장치를 출력용으로 사용할 수 있지만 입력 용으로는 사용할 수 없습니다.

왜 그럴까요?

다른 가상화 소프트웨어 (예 : VM웨어)는 호스트의 오디오 장치의 출력 섹션과 입력 섹션을 사용하여 문제가 없음을 알고 있습니다.

또한 Speech Recorder가 누구를 위해 에뮬레이터에서 작동하지 않았다면 왜 그 장치를 설치해야합니까?

분명히 이것은 누군가에게 효과가 있습니다. 음성 녹음기를 저에게 잘 활용할 수있는 방법이 있습니까?

Windows XP 32 비트를 사용하고 있으며 내 AVD는 SD 카드 (시작시 마운트 됨)로 정의됩니다.

업데이트 : 예외가 던져 지는지 확인하기 위해 @Klaus의 제안을 따랐습니다. 명령 줄에 ddms.bat을 입력하여 DDMS의 독립 실행 형 버전 (하단에 logcat 표시가 있음)을 시작했습니다. "Record"버튼을 클릭하면 다음과 같은 예외가 발생합니다.

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 

여기부터 어떻게해야합니까? 나는 음성 레코더 응용 프로그램을 작성하지 않은, 그래서 내가이 이전 로그 캣 메시지와 함께 할 수있는 뭔가가 생각 192 SpeechRecorderActivity.java 라인에서 NullPointerException이 발생 모르겠어요 :

하는 오디오 가져올 수 없습니다를 레코드에 대한 입력 소스 1

그러나 다시 질문은 무엇입니까?

"녹음 음원 1에 오디오 입력을 할 수없는 이유는 무엇입니까?"

+1

Errr ... 예외가 잡히지 않았습니까? Force Close 메시지 만 넣으면 대개 예외가 많이 잡히게됩니다. LogCat 출력에서 ​​예외 (모두)를 보여주십시오. – Klaus

+1

당신이 여기에 의견을 가지고 있다고 맹세 할 수 있겠습니까? 그것은 나를 위해 충돌합니다 : '03-29 14:13:38.075 : 오류/AudioRecord (282) : 녹음 매개 변수가 지원되지 않습니다. sampleRate 11025, channelCount 1, format 1 03-29 14 : 13 : 38.075 : ERROR/srec_jni (282) : initCheck 오류 -22 03-29 14 : 13 : 38.104 : ERROR/AndroidRuntime (282) : 치명적인 예외 : Thread-8 03-29 14 : 13 : 38.104 : ERROR/AndroidRuntime (282) : java.lang.NullPointerException 03-29 14 : 13 : 38.104 : ERROR/AndroidRuntime (282) : at com.android.speechrecorder.SpeechRecorderActivity $ 4.run (SpeechRecorderActivity.java:192)'왜 신경 써야할지 모르겠습니다. : 3 소스 코드가 없습니다. – Klaus

+0

@Klaus 네, 제가 게시 한 질문이 있었지만 제가 직접 답을 찾은 후에 삭제했습니다 (위 참조). 고마워 +1. :) – srf

답변

3

이 문제가 발생하는 이유는 에뮬레이터에 연결할 audioInput이 없기 때문입니다. 가장 좋은 방법은 실제 장치를 연결하고 거기에서 테스트하는 것입니다.

+2

http://developer.android.com/guide/topics/media/index.html - 특히 3 단락에서는 '에뮬레이터에는 오디오 또는 비디오를 캡처 할 수있는 하드웨어가 없지만 실제 모바일 장치는 MediaRecorder 클래스를 통해 액세스 할 수있는 이러한 기능을 제공하십시오. –

+1

시스템에 마이크를 연결하면 에뮬레이터에서이를 사용해야합니다. 이 토론을 참조하십시오. http://groups.google.com/group/android-developers/browse_thread/thread/b4be83e1ce5ef8ac – Brian

+0

@ 브라이언 이미 내 시스템에 마이크가 연결되어 있습니다. 그것을 사용하지 않습니다. @ 크리스 감사와 +2. – srf

관련 문제