2011-09-26 24 views
5

Kaybettim. Konuşma sesini ayarlayabilmek istiyorum. Ne yaparsam yap, hacmini arttıramam. Android ayarlarında bulduğu kadar sesli olarak nasıl yapabilirim (aşağıdaki gibi)?Metin-konuşma "konuşma" yöntemi için birim nasıl ayarlanır?

Sistem Ayarları -> Ses giriş ve çıkış -> Text-to-Speech ayarları -> Bir örnek dinleyin

şu anda benim kodudur: çağrılırken

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); 

cevap

15

AudioManager.STREAM_MUSIC kullanarak deneyin setStreamVolume(...) yöntemi. Telefonumda müzik çalma sesini ayarladığımda, örnek konuşma sesi medya sesinden etkileniyor, bu yüzden ihtiyacım olan şey STREAM_MUSIC.

DÜZENLEME: Bu kod ... benim için mükemmel çalışıyor

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); 

telefonumda STREAM_MUSIC için maksimum hacim 15 ve hatta yukarıda am.setStreamVolume(...) benim çağrıda amStreamMusicMaxVol değiştirerek bu test ettik 3, 6, 9, 12, 15 değerleriyle ve konuşmanın sesi doğru şekilde ayarlanmış.

+0

"Speak" yöntemi mmmmm5 @ AudioManager.Stream_MUSIC – mmmmm5

+2

etkilenmez: "" Speak bunlardan birine akışı türünü değiştirmeyi deneyin ben değil şüpheli ve muhtemelen STREAM_SYSTEM veya STREAM_MUSIC ya çalınan "yöntem, AudioManager.Stream_MUSIC tarafından etkilenmez" Evet, en azından HTC Desire cihazımda. Yanlış bir şey yapmalısınız ya da cihazınızda/emülatörünüzde desteklenmiyor ya da slayton'un önerdiği gibi 'STREAM_SYSTEM' kullanmanız gerekiyor. Düzenlememde eklediğim kodlara bakın - mükemmel çalışıyor ve konuşma sesini 0-15 arasında herhangi bir yerde ayarlayabilirim. – Squonk

+0

Teşekkürler. İşe yarıyor. 2 şey düşünmeme engel oluyordu - (1) DMTF tonunu konuşmak için karşılaştırıyordu. DMTF tonu çok daha yüksek. (2) konuşmanın tamamlanmasını engelleyen başka bir faaliyet yürütüyordum, bu yüzden daha yumuşak bir ses geldi – mmmmm5

3

Kodunuzda bildirim hacmini değiştiriyorsunuz. TTS'nin sesi bildirimlerle aynı ses düzeyinde oynatılıyor mu?

STREAM_VOICE_CALL, STREAM_SYSTEM, STREAM_RING, STREAM_MUSIC or STREAM_ALARM 
+0

"Konuş" yöntemini daha yüksek yapmak için AudioManager yöntemlerini (setStreamVolume, getStreamMaxVolume) kullanmaya çalışıyordum. Ancak, "konuşma" yöntemi AudioManager tarafından etkilenmez – mmmmm5

+0

Şimdi çözülmüş olan sorunumda yukarıdaki yanıtı görün – mmmmm5

İlgili konular