如何在 android 5.1 上从接收器播放音乐,它与 android 4.2 不同
Posted
技术标签:
【中文标题】如何在 android 5.1 上从接收器播放音乐,它与 android 4.2 不同【英文标题】:How to play music from receiver at android 5.1, it is different form android 4.2 【发布时间】:2016-02-25 10:52:05 【问题描述】:我想从接收器而不是扬声器播放音乐,我使用以下代码:
am.setMode(AudioManager.MODE_IN_CALL);
mMediaPlayer = MediaPlayer.create(this, R.raw.src2k);
mMediaPlayer.setLooping(true);
mMediaPlayer.start();
它在 android 4.2 中运行良好,但在 android 5.1 中不起作用,在 android 5.1 中它仍然可以通过扬声器播放。我已经在 android 4.2 和 5.1 测试了几部手机。任何人都可以给我一些建议吗?谢谢。
【问题讨论】:
“从接收器播放音乐”是什么意思?? 从接收器(听筒)而不是从扬声器播放声音(音乐) 你是说耳机? 我的意思是耳机,靠近前置摄像头的小喇叭。抱歉,我之前表达的不够清楚。 【参考方案1】:我自己解决了这个问题,下面的代码运行良好:
mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setMode(AudioManager.STREAM_MUSIC);
mAudioManager.setSpeakerphoneOn(false);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.reset();
mMediaPlayer.setAudiostreamType(AudioManager.STREAM_MUSIC);
Uri uri=Uri.parse("android.resource://com.ee.ff/"+R.raw.music);
try
mMediaPlayer.setDataSource(this, uri);
catch (Exception e)
e.printStackTrace();
mMediaPlayer.setLooping(true);
try
mMediaPlayer.prepare();
catch (Exception e)
e.printStackTrace();
mMediaPlayer.start();
【讨论】:
以上是关于如何在 android 5.1 上从接收器播放音乐,它与 android 4.2 不同的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 的 MainActivity 中暂停/播放背景音乐?
如何直接在 android 上从扬声器播放声音 instaed Headset?