मेरा आवेदन रिकॉर्ड AsyncTask में और भी पाठ में भाषण को बदलने गूगल एपीआई का उपयोग MediaRecorder वर्ग का उपयोग कर ऑडियो - पहचानकर्ता आशय - इस सवाल से कोड का उपयोग: How can I use speech recognition without the annoying dialog in android phonesएंड्रॉयड भाषण पहचानने और एक ही समय में ऑडियो रिकॉर्डिंग
मैं कोशिश की है थ्रेड में ऑडियो रिकॉर्ड करने के लिए, लेकिन यह भी खराब समाधान है। इससे अधिक समस्याएं होती हैं। मेरी समस्या यह है कि मेरा आवेदन एम्यूलेटर पर ठीक से काम करता है। लेकिन एमुलेटर ध्वनि पहचान सेवाओं की कमी के कारण भाषण पुन: पहचान का समर्थन नहीं करता है। और मेरे डिवाइस पर अपने आवेदन दुर्घटना जब मैं ऑडियो और भाषण reognizing रिकॉर्डिंग शुरू होता है - "अप्रत्याशित रूप से बंद हो गया है"। हालांकि जब मेरे पास वाईफाई बंद हो जाती है, तो एप्लिकेशन एमुलेटर पर ठीक तरह से काम करता है।
रिकॉर्डिंग ऑडियो AndroidManifest में की आवश्यकता है:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
और वाक् पहचान requiers:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
मुझे लगता है यह एक ऑडियो इनपुट के साथ समस्या है? मैं यह मुश्किल कैसे सुलझाऊँ? गूगल वाक पहचानकर्ता requiers मुख्य यूआई सूत्र में काम करने के लिए, तो मैं उदाहरण के लिए यह Async कार्य में नहीं कर सकते हैं। तो मेरे पास Async कार्य में ऑडियो रिकॉर्डिंग है। मुझे नहीं पता कि यह समस्या क्यों पैदा करता है।
मैं ग्रहण करने के लिए अपने डिवाइस से कनेक्ट कर दिया और मैं USB डीबगिंग इस्तेमाल किया है।
08-23 14:50:03.528: ERROR/ActivityThread(12403): Activity go.android.Activity has leaked ServiceConnection [email protected] that was originally bound here
08-23 14:50:03.528: ERROR/ActivityThread(12403): android.app.ServiceConnectionLeaked: Activity go.android.Activity has leaked ServiceConnection [email protected] that was originally bound here
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread$PackageInfo$ServiceDispatcher.<init>(ActivityThread.java:1121)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread$PackageInfo.getServiceDispatcher(ActivityThread.java:1016)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ContextImpl.bindService(ContextImpl.java:951)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.content.ContextWrapper.bindService(ContextWrapper.java:347)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.speech.SpeechRecognizer.startListening(SpeechRecognizer.java:267)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at go.android.Activity.startRecordingAndAnimation(Activity.java:285)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at go.android.Activity.onResume(Activity.java:86)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1151)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.Activity.performResume(Activity.java:3823)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.os.Looper.loop(Looper.java:123)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at java.lang.reflect.Method.invokeNative(Native Method)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at java.lang.reflect.Method.invoke(Method.java:521)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
08-23 14:50:03.528: ERROR/ActivityThread(12403): at dalvik.system.NativeStart.main(Native Method)
और वह एक और अपवाद के बाद:: और यह execption मैं LogCat में है
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): Failed to create session
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): com.google.android.voicesearch.speechservice.ConnectionException: POST failed
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.SpeechServiceHttpClient.post(SpeechServiceHttpClient.java:176)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.SpeechServiceHttpClient.post(SpeechServiceHttpClient.java:88)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.ServerConnectorImpl.createTcpSession(ServerConnectorImpl.java:118)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.ServerConnectorImpl.createSession(ServerConnectorImpl.java:98)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.RecognitionController.runRecognitionMainLoop(RecognitionController.java:679)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.RecognitionController.startRecognition(RecognitionController.java:463)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.RecognitionController.access$200(RecognitionController.java:75)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.RecognitionController$1.handleMessage(RecognitionController.java:300)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at android.os.Looper.loop(Looper.java:123)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at android.os.HandlerThread.run(HandlerThread.java:60)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): Caused by: java.net.SocketTimeoutException
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:564)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:88)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:179)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:243)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): at com.google.android.voicesearch.speechservice.SpeechServiceHttpClient.post(SpeechServiceHttpClient.java:167)
08-23 14:50:08.000: ERROR/ServerConnectorImpl(12412): ... 10 more
08-23 14:50:08.000: ERROR/RecognitionController(12412): Ignoring error 2
में मैं बिल्कुल वही चीज़ करते कोशिश कर रहा हूँ ऊपर 2 परियोजनाओं के लिए कम से कम मर्ज देखें। लेकिन ऐसा लगता है कि केवल एक आवेदन रिकॉर्डिंग ऑडियो हो सकता है। क्या आपको सफलता मिली है?अब मैं ऑडियो रिकॉर्ड करने की कोशिश कर रहा हूं और इसे वॉयस पहचानकर्ता को भेजने के लिए कुछ हैक कर रहा हूं, लेकिन यह RECOGNIZE_SPEECH को प्रतिक्रिया देने वाली गतिविधि या सेवा को ढूंढने के लिए जटिल है। –
मैंने इस समाधान का परीक्षण नहीं किया है लेकिन शायद एक संभावना है। Http://developer.android.com/reference/android/speech/RecognitionService.Callback.html में विधि 'शून्य बफर प्राप्त किया गया है (बाइट [] बफर) '। संभावित समाधान ऑडियो रेकॉर्ड एंड्रॉइड क्लास में इस प्राप्त बफर को सहेजना है। इसमें 'रीड (बाइट [] ऑडियोडेटा, इंट ऑफ़सेटइनबाइट्स, इंट साइज इनबाइट्स) जैसी विधि है। तो शायद इस तरह की दो उपयोगिताओं को इस तरह से जोड़ना संभव है? ऑडियो रिकॉर्डिंग को कॉन्फ़िगर करने और रिकॉर्डिंग के बाद परिणाम एमपी 3 या WAV प्रारूप में कनवर्ट करने के साथ समस्याएं हो सकती हैं। – woyaru
किसी के पास कोई भाग्य है? आवाज रिकॉर्डिंग की प्रतिलिपि बनाने के लिए यह बहुत उपयोगी होगा। पाठ फ़ाइल में भाषण बनाएं, लेकिन फिर इसे सत्यापित करने के लिए ध्वनि रिकॉर्डिंग को वापस चलाने में सक्षम हो। –