2011-08-07 15 views
8

Estoy usando la clase AndroidFX Visualizer en mi aplicación de demostración para leer FFT, pero cuando intento crear el objeto de esa clase, lanza la excepción Runtime (java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -1). La clase de jugador es mi clase personalizada para el control de la reproducción y el uso de la misma clase de jugador. He implementado la clase de ecualizador y funciona bien. ¿Debo agregar algún permiso en el archivo de manifiesto?Android Visualizer clase throwing en tiempo de ejecución excepción

Player mediaPlayer = Player.GetInstance(); 
    mediaPlayer.LoadFile("song.mp3"); 
    mediaPlayer.Play(); 
    try{ 
    visual = new Visualizer(mediaPlayer.GetAudioSessionID()); // this line causing Exception 
    visual.setEnabled(true); 
    visual.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); 
    } 
    catch(Exception ex) 
    { 
     Log.e("Visual Ex", ex.getMessage()); 
    } 
+0

debe ver http://stackoverflow.com/a/28427213/3496570 – Nepster

Respuesta

27

Eso fue debido a mi error vano, que la función requiere <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission> permiso. gracias

+6

Además, si utiliza la fuente de audio 0, se genera el mismo error si no establece '' como [documentado] (http://developer.android.com/reference/android/media/audiofx/Visualizer.html). – jwadsack

+0

¡Esto me ayudó mucho! ¡¡¡Gracias!!! – Foggzie

+0

Stack trace debería tener el estado que –

4

Sé que esta es una respuesta muy tardía, pero también tuve problemas con este problema y quiero compartir mis experiencias.

primer lugar, como la respuesta mencionado anteriormente, los permisos

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

y, si la fuente de audio 0 se utiliza (Visualizer(0); //system mix),

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 

se necesitan. Después de agregar los permisos a mi aplicación e instalar la aplicación (nueva compilación) nuevamente, mi aplicación aún se colgó. Descubrí que el dispositivo debe reiniciarse para utilizar el Visualizador sin excepción (por el motivo que sea). Por lo tanto, si desarrolla una aplicación y obtiene esta excepción, puede ser necesario reiniciar después de agregar los permisos a la aplicación.

+0

He estado buscando una respuesta y el reinicio de mi dispositivo solucionó el problema. Gracias @Fruchtzwerg –

+0

Gracias @Fruchtzwerg –

Cuestiones relacionadas