【发布时间】:2021-06-21 02:02:14
【问题描述】:
播放音频文件时,我将声音从外部扬声器切换到内部扬声器(耳机)。音频通过 SimpleExoPlayer 播放。 USAGE_VOICE_COMMUNICATION 属性进行切换。 声音开始通过听筒播放,但此声音的音量不受系统音量按钮控制,系统中媒体的音量会发生变化。
我尝试将 setContentType 设置为 CONTENT_TYPE_SPEECH,问题仍然存在。
该问题在 Google Pixel XL (Android 10)、一加 7t (Android 10) 上再次出现。 但在三星 Galaxy S9 (Android 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)
}
【问题讨论】: