如何设置文本到语音"说话"方法的音量?

mmm*_*mm5 6 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);
Run Code Online (Sandbox Code Playgroud)

Squ*_*onk 17

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);
Run Code Online (Sandbox Code Playgroud)

STREAM_MUSIC我手机上的最大音量是15,我甚amStreamMusicMaxVol至通过将我的呼叫替换am.setStreamVolume(...)为值3,6,9,12,15并且语音音量设置正确来测试.

  • @mmmmm5:""Speak"方法不受AudioManager.Stream_MUSIC影响"是的 - 至少在我的HTC Desire上.您必须做错事或者您的设备/模拟器不支持,或者您需要使用`STREAM_SYSTEM`作为slayton建议.查看我在编辑中添加的代码 - 它运行良好,我可以将语音音量设置在0-15之间. (2认同)
  • 但是,如何禁用所有声音,以便即使其他应用程序也无法更改任何音量.我的意思是如何从其他应用程序中完全禁用AudioManager.@Squonk (2认同)