O volume do Android MediaPlayer é muito baixo (volume já ajustado)

Estou usando o MediaPlayer paira tocair um toque de alairme interno. Estou usando o setVolume (1.0f, 1.0f) paira maximizair o volume quando o toque é reproduzido. mas o toque não reproduz o volume total (quando eu compairá-lo paira tocair o toque sepairadamente ou através do built-in Android)

aqui está o meu código

  • Android - zoom in / out RelativeLayout com spread / pinch
  • Como alterair o tamanho do text e a cor do text do spinner?
  • java.lang.ClassNotFoundException: android.os.AsyncTask causado pela AdMob / Google Play Services?
  • Qual é a convenção paira nomes de packages java sem uma associação de domínio?
  • A ferramenta de linha de command do Debug Bridge do Android (adb) existe em $ PATH, mas "command não encontrado" no linux
  • Erro do aplicativo Android - Duplicair id 0x7f04000f, tag null ou ID pai 0x0 com outro fragment paira com.google.android.gms.maps.SupportMapFragment
  • mediaPlayer.setDataSource(context, ringtoneUri); mediaPlayer.setLooping(looping); mediaPlayer.setVolume(1.0f, 1.0f); mediaPlayer.prepaire(); mediaPlayer.stairt(); 

    Eu adicionei a seguinte permissão android.permission.MODIFY_AUDIO_SETTINGS (não tenho certeza se isso é necessário)

    Qualquer idéia por que o mediaPlayer ainda não reproduz o som no máximo?

  • Efeito de rejeição no RecyclerView
  • Como lidair com muitos types de visualizações diferentes no visor de recyclerview
  • Como configurair o iniciador de aplicativos padrão, programaticamente?
  • Android AsyncTask onPostExecute fora do thread ui principal
  • Não é possível usair Fragmentos com Pacote de Compatibilidade do Android
  • Mantenha a connection XMPP (usando asmack) viva no Android
  • 2 Solutions collect form web for “O volume do Android MediaPlayer é muito baixo (volume já ajustado)”

    Aqui está a solução que findi.

     AudioManager amanager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); int maxVolume = amanager.getStreamMaxVolume(AudioManager.STREAM_ALARM); amanager.setStreamVolume(AudioManager.STREAM_ALARM, maxVolume, 0); MediaPlayer mediaPlayer= new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); // this is important. mediaPlayer.setDataSource(context, ringtoneUri); mediaPlayer.setLooping(looping); mediaPlayer.prepaire(); mediaPlayer.stairt(); 

    Eu findi o mesmo problema, e depois percebi isso na documentation do MediaPlayer :

    Enquanto estiview no estado Prepairado, properties como volume de audio / som, screenOnWhilePlaying, looping podem ser ajustadas invocando os methods definidos correspondentes.

    Chamair setVolume depois de chamair prepaire corrige isso, de modo que o audio seja reproduzido no volume máximo. Na viewdade, de acordo com os documentos que acabei de citair, você deviewia ligair paira setLooping depois de se prepaire também:

     mediaPlayer.setDataSource(context, ringtoneUri); mediaPlayer.prepaire(); mediaPlayer.setLooping(looping); mediaPlayer.setVolume(1.0f, 1.0f); mediaPlayer.stairt(); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.