Intereting Posts
Правильное использование фонового сервиса / широковещательного приемника Хороший учебник по использованию AccountManager в Android? Как получить определенную строку, где значение обновляется в android Поддерживает ли Android OpenCL? Извлечение страны кода из номера телефона Наличие Android WebView для обнаружения и всплывающего сообщения по электронной почте или диалога телефонных звонков Android 4.2.1 неправильный кернинг персонажа (интервал) Запросить параметр рабочего стола на мобильных устройствах Как захватить кадры предварительного просмотра из приложения Camera в Android Programming? Почему мой Android UI действует неуловимо, когда я пытаюсь выбрать текст? SlidingDrawer, скрытый по изображению в SurfaceView Выберите все флажок в списке андроидов OnCreateView () вызывается слишком часто в пользовательских предпочтениях Как использовать векторные чертежи в Android API ниже 21? Предупреждение NullPointerException для getView () внутри метода onActivityCreated / onStart / onViewCreated

Как установить громкость для «говорящего» метода «текст-речь»?

Я потерян. Я хочу настроить громкость разговоров. Что бы я ни делал, я не могу увеличить его объем. Как сделать так громко, как в настройках Android (как показано ниже)?

Системные настройки -> Голосовой ввод и вывод -> Настройки текста в речь -> Слушайте пример

Мой код в данный момент:

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

Попробуйте использовать AudioManager.STREAM_MUSIC при вызове setStreamVolume(...) . На примере речи влияет громкость мультимедиа, если я отрегулирую громкость воспроизведения музыки на своем телефоне, поэтому я думаю, что STREAM_MUSIC – это то, что вам нужно.

EDIT: этот код отлично работает для меня …

 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, и я даже проверял это, заменив amStreamMusicMaxVol в своем вызове am.setStreamVolume(...) выше со значениями 3, 6, 9, 12, 15 и объемом Речь правильно установлена.

В вашем коде вы меняете объем уведомлений. Является ли объем TTS воспроизводимым на том же уровне громкости, что и уведомления? Я подозреваю, что это не так, и он, вероятно, играл на STREAM_SYSTEM или STREAM_MUSIC Попробуйте изменить тип потока на один из них:

 STREAM_VOICE_CALL, STREAM_SYSTEM, STREAM_RING, STREAM_MUSIC or STREAM_ALARM