android插上耳机仍用扬声器播放音频
生活随笔
收集整理的这篇文章主要介绍了
android插上耳机仍用扬声器播放音频
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
最近遇到一个如何在耳机插入的情况下任然用扬声器播放音频的问题。
用搜索引擎找了一些网上的demo 。发现按照他们的方法成功实现。
最后成功解决了。先说解决办法吧。
问题的关键是某度搜出来的第一个解决方案没有在mainfest中添加如下权限。
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>除了这个权限,我下面的代码基本http://blog.csdn.net/menghnhhuan/article/details/7415843差不多
下面贴出代码
import android.content.Context; import android.media.AudioManager; import android.media.MediaPlayer; import android.util.Log;public class MusicPlay {Context context = null;AudioManager audioManager;MediaPlayer playerSound;Thread playThread;// 播放音频文件,固定使用扬声器播放public MusicPlay(Context context) {this.context = context;audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);audioManager.setMicrophoneMute(false);audioManager.setSpeakerphoneOn(true);// 使用扬声器播放,即使已经插入耳机audioManager.setMode(AudioManager.STREAM_MUSIC);}public void play() {playThread = new Thread(new PlayThread());playThread.run();}class PlayThread implements Runnable {@Overridepublic void run() {//Log.e("zhiyinqing", "执行到了run方法");if (audioManager.isSpeakerphoneOn()) {// Log.e("liuyu","扬声器打开了");} else {audioManager.setSpeakerphoneOn(false);Log.e("liuyu", "扬声器关闭了");if (audioManager.isSpeakerphoneOn()) {// Log.e("liuyu","扬声器打开了");} else {// Log.e("liuyu","扬声器还是没打开");}}playerSound = MediaPlayer.create(context, R.raw.abc);playerSound.start();}}}如果有帮到您,打个赏呗
总结
以上是生活随笔为你收集整理的android插上耳机仍用扬声器播放音频的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: android唤醒屏幕并解锁
- 下一篇: android 开发文档模板