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 开发文档模板