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.
- MediaPlayer getTrackInfo () nunca incluye TimedText
- Los archivos OGG no se enlazarán correctamente usando Android usando MediaPlayer
- Ni la pausa ni la parada funcionan mientras se reproduce RTSP con Android MediaPlayer
- ¿Por qué MediaPlayer.seekTo (t) no va al instante especificado exacto "t"?
- La URL de streaming en vivo de Android http usando mediaplayer
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.
- Posible anular la biblioteca del sistema .so en la aplicación
- ExoPlayer y comandos start / pause / seekTo
- Reproducción de audio repetidamente en Android
- Error de Reproductor de medios de Android (1, -4) mientras reproduce un audio de la carpeta Activos
- Utilizando IntentService para la reproducción de MediaPlayer
- AUDIOFOCUS_LOSS llamó después de una llamada telefónica en android
- Tiempo de espera predeterminado de Android MediaPlayer
- Analizar y reproducir un archivo .pls en Android
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