/ Клас Android / Visualizer, який викидає час виконання - Android, аудіо, візуалізація

Виняток класу кидків Visualizzer для Android - андроїд, аудіо, візуалізація

Я використовую клас AndroidFX Visualizer у своєму демонстраційному додатку, щоб читати FFT, але коли я намагаюся створити об’єкт цього класу, його виняток під час кидання (java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -1). Клас гравців - це мій спеціальний клас для управління відтворенням і за допомогою того ж класу гравців, я реалізував еквалайзерний клас, і це працює нормально. Чи потрібно додати будь-який дозвіл у файл маніфесту?

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

Відповіді:

27 за відповідь № 1

Це було пов’язано з моєю дурною помилкою, якої вимагає ця особливість <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission> дозвіл. Дякую


4 для відповіді № 2

Я знаю, що це дуже пізня відповідь, але я також боровся з цією проблемою і хочу поділитися своїм досвідом.

По-перше, як відповідь згадана вище, дозволи

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

і, якщо використовується джерело звуку 0 (Visualizer(0); //system mix),

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

потрібні. Після додавання дозволу до мого додатка та встановлення (нової компільованої) програми знову мій збій. Я дізнався, що пристрій потрібно перезапустити, щоб користуватися Visualizer без будь-якого винятку (з будь-якої причини). Тож якщо ви розробляєте додаток і отримуєте цей виняток, після додавання дозволу в додаток може знадобитися перезапуск .