Я использую Audio Manager для кратковременного затухания голосовых команд из текста в речь и фоновой музыки.Я запрашиваю фокусировку звука, используя флаг AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
Будет исчезать два голоса, но не очень ясно.Я хочу увеличить громкость текста до речи и громкость фоновой музыки.После окончания речи ее нужно восстановить.
Я тоже пытаюсь установить setStreamVolume.Но это контролирует оба голоса.Есть ли способ увеличить громкость текста в речь без увеличения фона.Любая помощь приветствуется.
var vol = mAudioManager?.getStreamVolume(AudioManager.STREAM_MUSIC)
tts!!.setOnUtteranceProgressListener(object : UtteranceProgressListener() {
override fun onStart(utteranceId: String?) {
mAudioManager?.setStreamVolume(AudioManager.STREAM_MUSIC,vol!!+3,0)
}
override fun onDone(utteranceId: String?) {
mAudioManager?.abandonAudioFocus(afChangeListener)
mAudioManager?.mode = AudioManager.MODE_NORMAL
mAudioManager?.setStreamVolume(AudioManager.STREAM_MUSIC,vol!!,0)
}
override fun onError(utteranceId: String?) {
}
})
----
AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK)
----