我想从接收器而不是扩音器播放音乐,我使用以下代码:
am.setMode(AudioManager.MODE_IN_CALL);
mMediaPlayer = MediaPlayer.create(this, R.raw.src2k);
mMediaPlayer.setLooping(true);
mMediaPlayer.start();它在安卓4.2中运行良好,但在安卓5.1中不起作用,在安卓5.1中它仍然可以通过扩音器播放。我已经在安卓4.2和5.1上测试了几款手机。有人能给我一些建议吗?谢谢。
发布于 2016-03-19 19:13:13
我自己解决了这个问题,下面的代码运行得很好:
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(); https://stackoverflow.com/questions/35625211
复制相似问题