我想从接收器而不是扬声器播放音乐,我使用下面的代码:
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上测试了几款手机。有人可以给我一些建议吗?感谢。
答案 0 :(得分:0)
我自己解决了这个问题,下面的代码效果很好:
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();