首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备音量控制按钮不设置带有音频属性使用USAGE_VOICE_COMMUNICATION的耳朵扬声器音量

设备音量控制按钮不设置带有音频属性使用USAGE_VOICE_COMMUNICATION的耳朵扬声器音量
EN

Stack Overflow用户
提问于 2021-03-24 11:05:35
回答 1查看 221关注 0票数 0

当播放音频文件时,我将声音从外部扬声器切换到内部扬声器(耳朵扬声器)。音频通过SimpleExoPlayer.播放切换由USAGE_VOICE_COMMUNICATION属性进行。声音通过耳机开始播放,但是声音的音量不受系统音量按钮的控制,系统中媒体的音量发生了变化。

我尝试将setContentType设置为CONTENT_TYPE_SPEECH,问题仍然存在。

问题在Google (Android10)、One Plus 7t (Android10)上重现了。但没有在三星Galaxy S9 (安卓10)上重复使用

,怎样才能做出这样的切换,使正确的扬声器的音量发生变化?

以下是我的特点:

代码语言:javascript
复制
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)
}

全员在这里上课

EN

回答 1

Stack Overflow用户

发布于 2021-03-24 13:33:01

使用AudioManager.setMode怎么样?

代码语言:javascript
复制
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_COMMUNICATION);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66779711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档