2012-08-22 33 views
8

यह सवाल एंड्रॉयड पर संदर्भित करता है केवल 2.2:कैसे बताना है कि कोई विशिष्ट टीटीएस इंजन चेक किया गया है (सक्षम)?

निम्नलिखित स्क्रीनशॉट स्थापित 3 अलग पाठ से वाक् इंजन पता चलता है:

  1. पिको टीटीएस (एंड्रॉयड के Froyo 2.2 के रूप में डिफ़ॉल्ट)
  2. IVONA पाठ से भाषण मुख्यालय
  3. SVOX क्लासिक टीटीएस

इस स्क्रीनशॉट में, आप सह uld देखें कि सभी 3 चेक नहीं हैं (सक्षम)। इसके बजाए, आईवीओएनए अनचेक किया गया है, केवल पिको छोड़कर (अंतर्निहित, क्योंकि इसमें हार्ड-कोड किया गया है) और एसवीओएक्स (चेक)।

enter image description here

मैं (यह मानते हुए मैं जानता हूँ कि कोडिंग समय में अपने पैकेज के नाम, निश्चित रूप से) प्रोग्राम के रूप में अपने आवेदन से क्वेरी करने के लिए सक्षम होने के लिए करना चाहते हैं या एक विशिष्ट टीटीएस इंजन (जैसे IVONA) checked है।

एंड्रॉयड 2.2 सभी मेरे पास है में getDefaultEngine() जो वास्तव में एक स्थिति है जहाँ पिको के रूप में डिफ़ॉल्ट और SVOX चयन किया जाता है में मदद नहीं कर सकता है चेक किया गया है (दूसरे शब्दों में, मैं कैसे पता चलेगा कि SVOX चेक किया जाता है, तो पिको डिफ़ॉल्ट है?)

मैं कैसे पूरा करते हैं कि एंड्रॉयड 2.2 में?

क्या यह सब संभव है?

पीएस Android 4.x (एपीआई> = 14) की शुरुआत की getEngines() विश्वास है कि इस समस्या को आईसीएस के लिए हल किया जाता है + लेकिन करीब परीक्षा पता चलता है कि आप जन्म दे सकती है:

  1. getEngines() केवल सूचीबद्ध करता स्थापित, नहीं जाँच (सक्षम) पैकेज।
  2. EngineInfo जो प्रत्येक सूचीबद्ध पैकेज के साथ आता है केवल नाम, लेबल, आइकन, प्राथमिकता प्रदान करता है और यह सिस्टम छवि का हिस्सा है या नहीं। दूसरे शब्दों में, एंड्रॉइड 2.2 में समान सीमा।

उत्तर

0

देखें Android TextToSpeech API guide

getEngines() प्रत्येक के बारे में कुछ जानकारी के साथ, सभी इंजनों कि स्थापित कर रहे हैं की एक सूची दे देंगे।

getDefaultEngine() उपयोगकर्ता द्वारा डिफ़ॉल्ट रूप से चुने गए किसी भी इंजन का पैकेज नाम देगा।

डिफ़ॉल्ट इंजन के पैकेज नाम के साथ प्रत्येक इंजन के पैकेज नाम (या आपके पास पहले से मौजूद सूची) की तुलना करना, आप यह देखने में सक्षम होंगे कि कौन सा चुना गया है।

ध्यान दें कि पूर्व समारोह, एपीआई स्तर 14 से ही उपलब्ध है, हालांकि दूसरे एपीआई स्तर से उपलब्ध है 8.

+0

क्षमा करें, मैं जोर देना है कि मैं एक Android रहा हूँ ** 2.2 ** संगत समाधान भूल गया । जैसा कि आपने सही ढंग से नोट किया है, 'getEngines() 'एपीआई 14 से ही उपलब्ध है।' GetDefaultEngine() 'वास्तव में ऐसी परिस्थिति में सहायता नहीं कर सकता है जहां * पिको * डिफ़ॉल्ट रूप से चुना जाता है और * एसवीओएक्स * चेक किया जाता है। मुझे कैसे पता चलेगा कि * एसवीओएक्स * चेक किया गया है यदि * पिको * डिफ़ॉल्ट है? – an00b

+2

भविष्य में, कृपया एक टिप्पणी में कहें कि आप एक प्रश्न संपादित कर रहे हैं - मेरा जवाब अभी नीचे आ गया है और मुझे लगता है कि ऐसा इसलिए है क्योंकि प्रश्न अब उत्तर में सभी चीजें कहता है। मैं एंड्रॉइड दस्तावेज़ों में कुछ भी नहीं देख सकता जो आपको एपीआई 8 पर चेक किए गए इंजनों के बारे में बताएगा, इसलिए मुझे लगता है कि यह असंभव हो सकता है। – Hbcdev

+0

इसके बारे में क्षमा करें। आईएमएचओ, आपको इस जवाब को हटाना चाहिए क्योंकि न तो 'getEngines()' और न ही 'getDefaultEngine()' यह बताने में सक्षम हैं कि कोई विशिष्ट टीटीएस इंजन ** चेक ** है या नहीं। यह बेहतर है कि यह प्रश्न अनुत्तरित रहता है, ताकि लोग जान सकें कि ** यह संभव नहीं है कि यह बताएं कि कोई विशिष्ट टीटीएस इंजन ** चेक ** है या नहीं। आपकी टिप्पणी के लिए +1। – an00b

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

  • कोई संबंधित समस्या नहीं^_^