0

I want to play music from the receiver instead of loud-speaker, I use below code:

am.setMode(AudioManager.MODE_IN_CALL); 
mMediaPlayer = MediaPlayer.create(this, R.raw.src2k); 
mMediaPlayer.setLooping(true);
mMediaPlayer.start();

It works well in android 4.2, but it does not work in android 5.1, at android 5.1 it still play from loud-speaker. I have tested several cell phones at android 4.2 and 5.1. Anyone can give me some advice? Thanks.

nunknunk
  • 1
  • 1

1 Answers1

0

I have solved this problem by myself, below code works well:

    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(); 
nunknunk
  • 1
  • 1