当播放音频文件时,我将声音从外部扬声器切换到内部扬声器(耳朵扬声器)。音频通过SimpleExoPlayer.播放切换由USAGE_VOICE_COMMUNICATION属性进行。声音通过耳机开始播放,但是声音的音量不受系统音量按钮的控制,系统中媒体的音量发生了变化。
我尝试将setContentType设置为CONTENT_TYPE_SPEECH,问题仍然存在。
问题在Google (Android10)、One Plus 7t (Android10)上重现了。但没有在三星Galaxy S9 (安卓10)上重复使用。
,怎样才能做出这样的切换,使正确的扬声器的音量发生变化?
以下是我的特点:
private fun setupAttributesWithExternalSpeaker() {
val audioAttributes = AudioAttributes.Builder()
.setContentType(C.CONTENT_TYPE_MUSIC)
.setUsage(C.USAGE_MEDIA)
.build()
simpleExoPlayer.setAudioAttributes(audioAttributes, true)
}
private fun setupAttributesWithInternalSpeaker() {
val audioAttributes = AudioAttributes.Builder()
.setContentType(C.CONTENT_TYPE_MUSIC)
.setUsage(C.USAGE_VOICE_COMMUNICATION)
.build()
simpleExoPlayer.setAudioAttributes(audioAttributes, false)
}发布于 2021-03-24 13:33:01
使用AudioManager.setMode怎么样?
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_COMMUNICATION);https://stackoverflow.com/questions/66779711
复制相似问题