2011-03-29 11 views
11

मैं एंड्रॉइड 2.2 एमुलेटर के साथ आता है स्पीच रिकॉर्डर चलाने की कोशिश कर रहा हूं। समस्या यह है कि इस समय मैं "रिकॉर्ड" बटन पर क्लिक करें है:।एंड्रॉइड एमुलेटर पर स्पीच रिकॉर्डर का उपयोग करना क्यों असंभव है?

enter image description here

यह एक त्रुटि संदेश "आवेदन भाषण रिकॉर्डर (प्रक्रिया com.android.speechrecorder) अप्रत्याशित रूप से बंद कर दिया है साथ रोकता फिर कोशिश करें। "

enter image description here

समस्या यह है कि फिर से प्रयास करने में मदद नहीं करता है।

अब, मैंने स्टैक ओवरफ्लो की खोज की और मैंने पूरे इंटरनेट पर काम किया और मुझे बिना किसी कामकाजी समाधान के एक ही समस्या की कई रिपोर्ट मिलीं।

मेरा निष्कर्ष यह है कि, कुछ अजीब कारणों से, एंड्रॉइड एमुलेटर आउटपुट के लिए विंडोज ऑडियो डिवाइस का उपयोग करने में सक्षम है, लेकिन इनपुट के लिए नहीं।

वह क्यों है?

मुझे पता है कि अन्य वर्चुअलाइजेशन सॉफ़्टवेयर (उदा। वीएमवेयर) को मेजबान के ऑडियो डिवाइस के आउटपुट और इनपुट दोनों अनुभागों का उपयोग करने में कोई समस्या नहीं है।

इसके अलावा, यदि स्पीच रिकॉर्डर ने कभी भी किसी के लिए एमुलेटर के लिए काम नहीं किया है, तो उसे वहां क्यों रखा जाए?

निश्चित रूप से इसने किसी के लिए काम किया है। क्या स्पीच रिकॉर्डर मेरे लिए भी काम करने का कोई तरीका है?

मैं विंडोज एक्सपी 32-बिट का उपयोग कर रहा हूं और मेरा एवीडी एक एसडी कार्ड (प्रारंभ पर आरोहित) के साथ परिभाषित किया गया है।

अद्यतन: मैंने @ क्लोस द्वारा सुझाव का पालन किया और यह देखने के लिए कि क्या कोई अपवाद फेंक दिया गया है या नहीं। मैंने डीडीएमएस के स्टैंड-अलोन संस्करण (नीचे एक लॉगकैट डिस्प्ले के साथ) लॉन्च करने के लिए कमांड लाइन पर ddms.bat टाइप करके ऐसा किया। निश्चित रूप से, मुझे "रिकॉर्ड" बटन पर क्लिक करने पर निम्नलिखित अपवाद प्राप्त होता है:

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 

मैं यहां से कैसे आगे बढ़ूं? मैं भाषण रिकॉर्डर एप्लिकेशन नहीं लिखा था, इसलिए मैं नहीं जानता कि क्या SpeechRecorderActivity.java लाइन पर NullPointerException 192. मेरा मानना ​​है कि यह पहले के एक logcat संदेश के साथ कुछ है का कारण बनता है:

ऑडियो प्राप्त नहीं कर सका रिकॉर्ड स्रोत 1

लेकिन सवाल फिर से क्यों है?

यह "रिकॉर्ड स्रोत 1 के लिए ऑडियो इनपुट प्राप्त करने में सक्षम क्यों नहीं था"?

+1

एरर ... क्या कोई अपवाद पकड़ा गया है? आपके द्वारा फोर्स क्लोज़ मैसेज डाला गया है, आमतौर पर इससे पहले कई अपवाद पकड़े जाते हैं। अपने लॉगकैट आउटपुट से हमें अपवाद (उनमें से सभी) दिखाएं। – Klaus

+1

शपथ ले सकता था कि आपने यहां एक टिप्पणी की थी - यह मेरे लिए भी दुर्घटनाग्रस्त हो जाता है: '03-29 14:13:38।075: ERROR/AudioRecord (282): रिकॉर्डिंग पैरामीटर समर्थित नहीं हैं: sampleRate 11025, channelCount 1, प्रारूप 1 03-29 14: 13: 38.075: ERROR/srec_jni (282): initcheck त्रुटि -22 03-29 14: 13: 38.104: त्रुटि/एंड्रॉइड रनटाइम (282): अंतिम अपवाद: थ्रेड -8 03-29 14: 13: 38.104: त्रुटि/एंड्रॉइड रनटाइम (282): java.lang.NullPointerException 03-29 14: 13: 38.104: त्रुटि/एंड्रॉइड रनटाइम (282): com.android.speechrecorder.SpeechRecorderActivity $ 4.run (SpeechRecorderActivity.java:192) 'सुनिश्चित नहीं है कि आप क्यों परवाह करते हैं। : 3 कोई स्रोत कोड नहीं। – Klaus

+0

@ क्लोस हां, मैंने एक प्रश्न पोस्ट किया था, लेकिन मैंने जवाब को स्वयं प्राप्त करने के बाद इसे हटा दिया (ऊपर देखें)। धन्यवाद और +1 फिर से। :) – srf

उत्तर

3

आपके पास यह समस्या होने का कारण यह है कि एम्यूलेटर में ऑडियो इनपुट नहीं है। आपकी सबसे अच्छी शर्त एक असली डिवाइस को प्लग करना और वहां परीक्षण करना है।

+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

संबंधित मुद्दे