#android #java-stream #video-streaming #android-audiomanager
Вопрос:
Я пробовал использовать api focusRequest, но он не работает.
private fun initVoiceMode(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val focusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN).run {
setAudioAttributes(AudioAttributes.Builder().run {
setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
build()
})
setAcceptsDelayedFocusGain(true)
setOnAudioFocusChangeListener(this@WebViewActivity, handler)
build()
}
val res = audioManager.requestAudioFocus(focusRequest)
val isPlaybackSynced = when (res) {
AudioManager.AUDIOFOCUS_REQUEST_FAILED -> {
false
}
AudioManager.AUDIOFOCUS_REQUEST_GRANTED -> {
true
}
AudioManager.AUDIOFOCUS_REQUEST_DELAYED -> {
false
}
else -> {
false
}
}
Log.d("audio-test", "focus status: ${isPlaybackSynced}")
}
}
Но res
это правда. Поток по-прежнему является потоком мультимедиа. И контроллер ориентирован на тип вызова.