我的应用程序中有一个设置,可以向用户读取分数。问题是阅读分数非常快。即"7"、"8"、"10"。当用户尝试使用硬件按钮调整音量时,会更改铃声音量而不是媒体音量。有什么办法可以解决这个问题吗?
我正在使用的代码:
TextToSpeech tts = new TextToSpeech(applicationContext, null);
稍后,在tts
成功初始化后...
int score = 7;
tts.speak(Integer.toString(score), TextToSpeech.QUEUE_ADD, null);
您可以通过在活动中调用setVolumeControlStream(AudioManager.STREAM_MUSIC);
来实现此目的。
来自 setVolumeControlStream 的文档:
建议应由硬件音量控件更改其音量的音频流。
建议的音频流将绑定到此活动的窗口。当活动处于前台时收到的卷请求将影响此流。