2011-09-26 14 views
5

मैं खो गया हूँ। मैं स्पीच वॉल्यूम समायोजित करने में सक्षम होना चाहता हूं। जो भी मैं करता हूं, मैं इसकी मात्रा में वृद्धि नहीं कर सकता। मैं इसे एंड्रॉइड सेटिंग्स (नीचे के रूप में) में जितना जोर से बना सकता हूं?पाठ-से-भाषण "बोलने" विधि के लिए वॉल्यूम कैसे सेट करें?

सिस्टम सेटिंग -> वॉयस इनपुट और आउटपुट -> पाठ से वाक् सेटिंग -> एक उदाहरण सुनें

इस पल में मेरे कोड है:

AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
mAudioManager.setSpeakerphoneOn(true); 
int loudmax = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION); 
mAudioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION,loudmax, AudioManager.FLAG_PLAY_SOUND); 
mTts.speak(name,TextToSpeech.QUEUE_FLUSH, null); 

उत्तर

15

AudioManager.STREAM_MUSIC का उपयोग कर प्रयास करते हुए बुला setStreamVolume(...) विधि। उदाहरण के भाषण मीडिया वॉल्यूम से प्रभावित होते हैं यदि मैं अपने फोन पर संगीत प्लेबैक की मात्रा समायोजित करता हूं तो मुझे लगता है कि आपको STREAM_MUSIC की आवश्यकता है।

संपादित करें: इस कोड मेरे लिए पूरी तरह से काम करता है ...

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
int amStreamMusicMaxVol = am.getStreamMaxVolume(am.STREAM_MUSIC); 
am.setStreamVolume(am.STREAM_MUSIC, amStreamMusicMaxVol, 0); 
tts.speak("Hello", TextToSpeech.QUEUE_FLUSH, null); 

मेरे फोन पर STREAM_MUSIC के लिए अधिकतम मात्रा 15 है और मैं भी ऊपर am.setStreamVolume(...) करने के लिए अपने कॉल में amStreamMusicMaxVol बदल कर भी इस परीक्षण किया है मान 3, 6, 9, 12, 15 के साथ और भाषण की मात्रा सही ढंग से सेट है।

+0

"बोलो" विधि AudioManager.Stream_MUSIC – mmmmm5

+2

से प्रभावित नहीं है @ mmmmm5: "" बोलो "AudioManager.Stream_MUSIC द्वारा विधि प्रभावित नहीं है" हां यह है - कम से कम मेरे एचटीसी डिजायर पर। आपको कुछ गलत करना होगा या यह आपके डिवाइस/एमुलेटर पर समर्थित नहीं है या आपको स्टेटन सुझाव के रूप में 'STREAM_SYSTEM' का उपयोग करने की आवश्यकता है। मेरे संपादन में जो कोड जोड़ा गया है उसे देखें - यह पूरी तरह से काम करता है और मैं भाषण मात्रा को 0-15 के बीच कहीं भी सेट कर सकता हूं। – Squonk

+0

धन्यवाद। यह काम करता हैं। 2 चीजें मुझे सोचने से रोक रही थीं - (1) डीएमटीएफ टोन की तुलना करने की तुलना में। डीएमटीएफ टोन बहुत जोर से है। (2) मैं कुछ अन्य गतिविधियों को चला रहा था जो बोलने को पूरा करने से काटते थे, इसलिए यह नरम – mmmmm5

3

अपने कोड में आप अधिसूचनाओं की मात्रा बदल रहे हैं। क्या टीटीएस की मात्रा समान मात्रा स्तर पर अधिसूचनाओं के रूप में खेला जाता है? मुझे लगता है यह नहीं है और यह शायद या तो STREAM_SYSTEM या STREAM_MUSIC में खेला इनमें से किसी एक के लिए धारा प्रकार बदलने का प्रयास करें:

STREAM_VOICE_CALL, STREAM_SYSTEM, STREAM_RING, STREAM_MUSIC or STREAM_ALARM 
+0

मैं ऑडियो बोलने वाले तरीकों (सेटस्ट्रीमवॉल्यूम, getStreamMaxVolume) का उपयोग करने की कोशिश कर रहा था ताकि "बोलने" विधि को जोर से बनाया जा सके। लेकिन, "स्पीकर" विधि AudioManager – mmmmm5

+0

द्वारा प्रभावित नहीं है मेरी समस्या पर उत्तर के ऊपर देखें जो अब हल हो गया है – mmmmm5

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