最近遇到一个如何在耳机插入的情况下任然用扬声器播放音频的问题。

用搜索引擎找了一些网上的demo(案例) 。发现按照他们的方法成功实现。

插入耳机的时候也可以选择使用扬声器播放音乐,来电铃声就是这么用的。但是只能用MediaPlayer,播放音频文件。

问题的关键是某度搜出来的第一个解决方案没有在mainfest中添加如下权限。

14e615bcd60bb646ba804d2707b66ef9.png

b5de1cfd680b784e925011005c0181d1.png

import android.content.Context;

import android.media.AudioManager;

import android.media.MediaPlayer;

//这些包可以自己按照IDE提示自动生成

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

audioManager.setMicrophoneMute(false);

audioManager.setSpeakerphoneOn(true);//使用扬声器外放,即使已经插入耳机

//setVolumeControlStream(AudioManager.STREAM_MUSIC);//控制声音的大小

audioManager.setMode(AudioManager.STREAM_MUSIC);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐