2012-08-15 19 views
5

क्या कॉल में रहते हुए SpeechRecognizer चलाने का कोई तरीका है? मैंने इसे इस तरह से किया है:कॉल के दौरान रन स्पीच रिकॉग्नाइज़र

  • BroadcastReceiver फ़ोन स्थिति (जैसे ऑफहुक) में परिवर्तन संभालता है।
  • SpeechRecognizer वर्तमान (मुख्य) धागे में शुरू किया गया है, क्योंकि इसे केवल मुख्य धागे में ही शुरू किया जा सकता है। आवेदन संदर्भ का उपयोग पहचानकर्ता के लिए किया जाता है (वर्तमान संदर्भ, प्रसारण रिसीवर को दिया गया, उपयोग शुरू नहीं किया जा सकता है)

लेकिन दुर्भाग्यवश, दूसरी ओर वाला व्यक्ति मुझे नहीं सुन सकता (भाषण मान्यता हालांकि ठीक काम करता है)। दूर, पहचानकर्ता ने मेरी आवाज "खपत" की है और इसे भेज नहीं है।

मुझे पता है कि कॉल के दौरान मुख्य धागे में चीजें करना खतरनाक है, लेकिन क्या कॉल के दौरान किसी भी तरह पहचानकर्ता चलाने का कोई तरीका है?

अद्यतन: मैं BroadcastReceiver की बजाय TelephonyManager श्रोता की कोशिश कर रहा हूं, लेकिन कुछ आंतरिक सेवाएं एनपीई के साथ उड़ती हैं।

उत्तर

2

AFAIK वॉयस कॉल एंड्रॉइड पक्ष से कभी संभाला नहीं जाता है। या तो आवेदन प्रोसेसर या संचार प्रोसेसर दोनों पर किसी भी समय स्ट्रीम पर नियंत्रण नहीं है। आमतौर पर जैसे ही वॉयस कॉल शुरू होता है, माइक्रोसॉफ्ट और हेडसेट स्ट्रीम नियंत्रण संचार प्रोसेसर को दिया जाता है। आपके मामले में आश्चर्यजनक रूप से एप्लिकेशन प्रोसेसर नियंत्रण प्राप्त कर रहा है। यह एक बग दिखता है।

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

+0

ऐसे ऐप्स हैं जो आपकी कॉल रिकॉर्ड करते हैं (आप केवल अपने शब्दों को सुनते हैं), इसलिए मुझे लगता है कि किसी भी तरह से कॉल करने और भाषण पर कुछ करने के लिए यह संभव होना चाहिए। शायद इन प्रोसेसर को जंजीर बनाया जा सकता है? – Bozho

+0

क्या आप Google play पर ऐप पेज पर इंगित कर सकते हैं, क्योंकि मैं किसी भी – nandeesh

+0

को ढूंढने में सक्षम हूं, मेरे पास एक ऐप होता था जो मेरे कॉल को रिकॉर्ड करता था और अन्य प्रतिभागी के बहुत चुप संस्करण (शायद वही जिसे स्पीकर से सुना जा सकता है और माइक्रोफोन में चला जाता है)। मेरे पास अब यह नहीं है (मेरे फोन को फ्लश किया गया है), और मुझे याद नहीं है कि यह कितने "रिकॉर्डिंग" ऐप्स थे, लेकिन मैंने कुछ रिकॉर्डिंग की थीं। – Bozho

0

फ़ोन मॉडल के आधार पर, यह संभव है कि भाषण पहचानकर्ता सेवा में लागू किया गया हो। मुझे एंड्रॉइड वी 4 के साथ एचटीसी रेजाउंड में कोई समस्या नहीं है, लेकिन एंड्रॉइड v2.3 के साथ मोटोरोला बायोनिक ऑडियो मैनेजर क्रैश के रूप में काम नहीं करता है। एचटीसी के साथ भी, पहचानकर्ता दूसरे फोन पर व्यक्ति को नहीं सुन सका। स्पीकर के साथ, यह रिपोर्ट त्रुटि कोई मेल नहीं रखता है।

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