volumen musica gratis ecualizador descargar configurar android audio volume

musica - Android: ¿cómo reproducir música al máximo volumen posible?



ecualizador spotify huawei (5)

Sé que la pregunta puede considerarse como "políticamente incorrecta", pero estoy diseñando una aplicación que "por diseño" debe llamar la atención de las personas dentro del rango de distancia máximo posible, de lo contrario no se utilizará ... :-)

Actualmente estoy usando la clase SoundManager, y este es el código que reproduce mi clip ogg:

public void playSound(int index) { int streamVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 0, 0, 1.0f); }

El problema es que el volumen de sonido con el que se reproduce el clip parece depender de la configuración "Configuración / Audio / Voulme" que el usuario haya establecido. En cambio, parece ser independiente de la configuración de los botones de volumen del hardware.

¿Hay una manera para que una aplicación de Android reproduzca un sonido al máximo volumen físico permitido por el dispositivo?


Ambos códigos funcionaron para mí, pero prefiero el de MediaPlayer.

AudioManager audioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND); Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); MediaPlayer mp=new MediaPlayer(); mp.setLooping(false); mp = MediaPlayer.create(HomeActivity.this, notification); mp.setVolume(count,count); mp.start(); });


Ese es el código equivocado.

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);


Puede ajustar la configuración antes de reproducir el audio.

AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.getStreamMaxVolume(), 0);


Yo sugeriría usar getStreamMaxVolume y setStreamVolume para hacer esto:

int origionalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);

Luego, una vez que haya terminado, vuelva a colocarlo en el volumen original.

Creo que fui golpeado al golpe, ahh bueno :)

Algún código que realmente hace esto, estoy usando MediaPlayer en lugar de la agrupación de sonido, ya que esto te da una devolución de llamada de reproducción completa que no parece estar presente en la agrupación de sonido:

final AudioManager mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE); final int originalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0); MediaPlayer mp = new MediaPlayer(); mp.setAudioStreamType(AudioManager.STREAM_MUSIC); mp.setDataSource("content://media/internal/audio/media/97"); mp.prepare(); mp.start(); mp.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, originalVolume, 0); } });

Por mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 0, 0, 1.0f); con la llamada mSoundPool.play(mSoundPoolMap.get(index), streamVolume, streamVolume, 0, 0, 1.0f); los valores de streamVolume son en realidad flotantes 0 -> 1 que representan un porcentaje del valor máximo, por lo que realmente querrá poner 1.0f allí.


float count=100*.01f; MediaPlayer mp=new MediaPlayer(); mp.setLooping(false); mp = MediaPlayer.create(ActivityName.this, myUri); mp.setVolume(count,count); mp.start(); mp.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mp.release(); mp.stop(); } });