Android – Ecualizador usePreset no funciona (Sin cambios en el efecto de sonido)
Estoy trabajando en la aplicación de radio streaming. Todo está funcionando bien, excepto que el cambio del efecto del ecualizador no afecta al sonido.
Cambiar el efecto del ecualizador llamando a usePreset (preset) no hace cambios en los efectos de sonido.
- Reproductor de vídeo flotante (como el reproductor de youtube) en android
- MediaPlayer salta hacia adelante unos 6 segundos en rotación
- ¿Cómo se incluyen los encabezados http con MediaPlayer setDataSource?
- ¿Cómo puede reproducir medios de ftpserver sin descargarlo en android?
- VideoView no se inicia cuando está invisible
Aunque no hay error, por qué usePreset no cambia los efectos de sonido.
He probado en samsung galaxy sII con 4.0.3.
public void startPlayer() { // // Check whether we can acquire the audio focus // to start the player // if (!requestAudioFocus()) { return; } if (null != mAudioPlayer) { if (mAudioPlayer.isPlaying()) { mAudioPlayer.stop(); } mAudioPlayer.reset(); } else { mAudioPlayer = new MediaPlayer(); mAudioPlayer.reset(); } try { notifyProgressUpdate(PLAYER_INITIALIZING); try { mEqualizer = new Equalizer(0, mAudioPlayer.getAudioSessionId()); mEqualizer.setEnabled(true); Log.d(TAG, "Audio Session ID " + mAudioPlayer.getAudioSessionId() + "Equalizer " + mEqualizer + " Preset " + mEqualizer.getCurrentPreset()); } catch (Exception ex) { mEqualizer = null; } mAudioPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mAudioPlayer.setDataSource(mCurrentTrack.getStreamURL()); // // Add the Listener to track the player status // mAudioPlayer.setOnCompletionListener(this); mAudioPlayer.setOnBufferingUpdateListener(this); mAudioPlayer.setOnPreparedListener(this); mAudioPlayer.setOnInfoListener(this); mAudioPlayer.setOnErrorListener(this); notifyProgressUpdate(PLAYER_BUFFERING); mAudioPlayer.prepareAsync(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //Get the available presets from the equalizer public String[] getEqualizerPresets() { String[] presets = null; short noOfPresets = -1; if (null != mEqualizer) { noOfPresets = mEqualizer.getNumberOfPresets(); presets = new String[noOfPresets]; for (short index = 0; index < noOfPresets; index++) { presets[index] = mEqualizer.getPresetName(index); } } return presets; } //Set the user preferred presets public void setEqualizerPreset(int position) { if (null != mEqualizer) { Log.d(TAG, "setting equlizer effects " + position); Log.d(TAG, "Equalizer " + mEqualizer + " set Preset " + position); mEqualizer.usePreset((short)position); Log.d(TAG, "Equalizer " + mEqualizer + " current Preset " + mEqualizer.getCurrentPreset()); } }
Aprecie su ayuda para identificar el problema.
EDITAR Este problema no se ha resuelto todavía. No encontré ningún código de ejemplo que explicara el uso del Preset del ecualizador.
Cualquier referencia al ejemplo de código que utilice la opción Preset bienvenido.
- ¿Puedo detener a Android de matar a mi aplicación?
- Android MediaPlayer Live Streaming detiene después de aproximadamente 1 minuto en Samsung Galaxy S4 y S5
- ¿Cómo reanudar MediaPlayer en Android?
- Cómo capturar una Excepción si la Internet o la señal está desactivada
- Problema con el tiempo de almacenamiento en búfer de MediaPlayer al transmitir audio
- AUDIOFOCUS_LOSS llamó después de una llamada telefónica en android
- Codificación de URL no compatible
- Cambiar la vista de la superficie
Este es un código fuente completo para el ecualizador, espero que esto te ayude
Tengo el mismo problema. Cuando lo cargue en el emulador producir un error que realmente no sé por qué, siempre dice … audiofx.Equalizer. Y audiofx.AudioEffect. o algo similar. Pero he descubierto que si tienes otro reproductor multimedia como n7player en mi caso, intenta cerrarlo e intentar de nuevo tu reproductor multimedia. En mi caso funciona, pero creo que tiene que ser un método para conseguir un ecualizador que esté activo.
- Cómo personalizar el color state_pressed de un infowindow en Google Maps?
- HttpGet params que no se envían