/ / Android Visualizer classe jogando exceção runtime - android, áudio, visualização

Classe Android Visualizer jogando exceção runtime - android, áudio, visualização

Eu estou usando a classe AndroidFX Visualizer no meu aplicativo de demonstração para ler FFT, mas quando eu tento criar objeto dessa classe sua exceção de execução Runtime (java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -1). A classe do jogador é minha classe personalizada para o controle de reprodução e usando a mesma classe do Player. Eu implementei a classe de equalizador e isso está funcionando bem. Preciso adicionar alguma permissão no arquivo de manifesto?

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());
}

Respostas:

27 para resposta № 1

Isso foi devido ao meu erro tolo, esse recurso requer <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission> permissão. obrigado


4 para resposta № 2

Eu sei que esta é uma resposta muito tardia, mas também lutei com esse problema e quero compartilhar minhas experiências.

Primeiro, como a resposta acima mencionada, as permissões

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

e, se a fonte de áudio 0 for usada (Visualizer(0); //system mix)

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

são precisos. Depois de adicionar as permissões ao meu aplicativo e instalar o aplicativo (novo compilado) novamente, meu aplicativo ainda falhava. Descobri que o dispositivo precisa ser reiniciado, para usar o Visualizador sem qualquer exceção (por qualquer motivo). Então, se você desenvolver um aplicativo e obter essa exceção, uma reinicialização pode ser necessária depois de adicionar as permissões ao aplicativo .