android - 如何设置文本到语音 "speak"方法的音量?

标签 android text-to-speech android-audiomanager

我迷路了。我希望能够调节说话音量。无论我做什么,我都无法增加它的音量。如何将其设置为与 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);

最佳答案

尝试在调用 setStreamVolume(...) 方法时使用 AudioManager.STREAM_MUSIC。如果我调整手机上音乐播放的音量,示例语音会受到媒体音量的影响,所以我猜 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(.. .) 上面的值为 3、6、9、12、15 并且语音音量设置正确。

关于android - 如何设置文本到语音 "speak"方法的音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558650/

相关文章:

ios - Dragon Dictation API 连接服务器失败

java - 如何仅将来电铃声静音而不将短信静音

ionic-framework - 如何在 Cordova Media Plugin 中的另一个播放器中并行播放音频时停止音频

android - fragment 中的 onActivityResult 未称为 childFragment

android - 如何访问 TTS OnUtteranceCompleted 回调中的布局?

android - 文本到语音发音数字,如 "4th"、 "8ths"或 "2nd"

android - 仅在 Android 上更改一种警报声音的音量

java - 如何在android中获取当前主题的文本颜色?

android - 如何强制 Eclipse 重新创建 R(=资源)文件?

java - TimeZone 和 Locale 是否只需要调用一次 setDefault() ?