He leído las API de Android y he intentado buscar en Internet sobre la declaración de un audioSessionId
personalizado y luego usar ese audioSessionId
para inicializar una clase AudioFx y asignar mi MediaPlayer o AudioTrack al codificado audioSessionId
.¿Utilizar el valor audioSessionId para crear una instancia de la clase AudioFx?
Este método me permitiría crear un AudioFx primero y luego adjuntar un nuevo MediaPlayer o AudioTrack a este audioSessionId
.
Actualmente puedo usar este método en Android 2.3.6 pero en Android 4.x me encuentro con problemas con los errores que la inicialización falla o en otros dispositivos ICS/JellyBean este error es silencioso pero llama a una función conduce a excepciones.
Samsung Galaxy S II [Android 4.0.3]:[problema ya no ocurre con Android 4.0.4]
E/AudioEffect(13250): set(): AudioFlinger could not create effect, status: -38
E/AudioEffects-JNI(13250): AudioEffect initCheck failed -5
E/AudioEffect-JAVA(13250): Error code -5 when initializing AudioEffect.
W/WrapEqualizer(13250): createEqualizer() -> Effect library not loaded
Motorola Xoom [Android 4.1.2]
falla parece en silencio después del constructor. Luego invocando getProperties() falla.
java.lang.RuntimeException: AudioEffect: set/get parameter error
at android.media.audiofx.AudioEffect.checkStatus(AudioEffect.java:1247)
at android.media.audiofx.Equalizer.getProperties(Equalizer.java:532)
Nexus 4 [Android 4.2.1]
Usando audioSessionId = 0 todo funciona bien, pero el uso de cualquier otro número que el dispositivo va a informar del error siguiente en silencio cada vez que tratan de cambiar el valor predefinido, nivel de banda , refuerzo de graves a ON o virtualizador a ON. La ID de efecto informada es diferente según el FX que estoy tratando de modificar.
W/AudioPolicyManagerBase(165): unregisterEffect() unknown effect ID 1381
Actualización 11/08/12:
soy capaz de utilizar audioSessionId
como 0. Sé que es obsoleta pero funciona con el permiso. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
¿Debo utilizar AudioFx con la ID de la sesión de audio 0?
¡Si votas al menos tienes tiempo para comentar por qué votaste! – Jona
Alguien simplemente se dio por vencido votando cada pregunta enriquecida y sus respuestas ... Realmente espero que sean prohibidos. – Eric
Hola Jona, ¿Tienes alguna solución para esto? También quiero implementar el efecto de audio en la aplicación, pero obtuve el error que se muestra arriba. –