关于部分手机使用听筒模式播放音频时没有声音的问题

2025-10-29 12:42:29

关于部分手机使用听筒模式播放音频时没有声音的问题

最新推荐文章于 2025-09-26 10:56:30 发布

原创

最新推荐文章于 2025-09-26 10:56:30 发布

·

6.3k 阅读

·

0

·

1

·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

日常bug

专栏收录该内容

23 篇文章

订阅专栏

本文介绍了一种解决特定型号手机在听筒模式下播放声音出现无声问题的方法。通过调整AudioManager设置,包括切换播放模式和调节通话音量,确保了听筒模式的正常使用。

这一个问题其实包含细节很多(涉及硬件和多媒体的细节问题都特别多),我只讲述我所遇见的问题,做一下记录

前提是如果使用扬声器播放声音的时候播放正常,而使用听筒模式下面播放声音却没有声音。这种情况仅有部分手机出现,解决代码如下:

private void setPlayModle(){

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

if (radioGroup.getCheckedRadioButtonId() == R.id.normal){ //假如选择的id是正常模式,那么使用扬声器播放

audioManager.setSpeakerphoneOn(true);

audioManager.setMode(AudioManager.MODE_NORMAL);

}else{ //否则使用听筒模式播放

audioManager.setSpeakerphoneOn(false);

// AudioManager.MODE_IN_COMMUNICATION这个值替换 AudioManager.MODE_IN_CALL 因为 AudioManager.MODE_IN_CALL 在5.0之上会出现问题

audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);

int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);//获取当前通话最大音量

audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,maxVolume,0); //设置为0 ,其他值可能会在修改音量大小的时候出现系统音量进度条

}

}

我对于这个了解也不是很多,如果有好的建议欢迎留言