Превышает максимальное количество экземпляров OpenCore в Android
-
19-09-2019 - |
Вопрос
когда я запускаю свое приложение, оно показывает ошибку "Превышает максимальное количество экземпляров OpenCore".Как устранить эту ошибку.Спасибо
Решение
Описанное выше происходит, если вы создаете несколько экземпляров MediaPlayer.
Вам следует прочитать о жизненный цикл медиаплеера и его различные состояния
- Определите один медиаплеер, например, в области видимости переменной класса
- Создайте его экземпляр в методе Oncreate и в методах onResume по мере необходимости
- в вашей функции воспроизведения звука используйте метод .reset, чтобы перевести медиаплеер в режим ожидания
- используйте .setDataSource или эквивалент , чтобы перевести его в инициализированное состояние
- затем подготовьтесь к подготовленному состоянию
- затем начните воспроизводить аудио
- .stop() и т.д., чтобы остановить это
- когда вы закончите, используйте функцию .release, чтобы освободить аудиоресурс.
Медиаплеер определяется как переменная области видимости класса и создается в методе onCreate()
private void startPlayingAudio()
{
try {
Uri path1 = Uri.parse("android.resource://com.yourpackagehere./" + R.raw.beep);
mp.reset(); // reset to idle state
mp.setDataSource(this, path1); // from idle to initialised state
mp.prepare();
mp.start();
} catch (Exception ioe) {
Log.e(LOG_TAG, "Error playing the beep sound");
}
}
Не связан с StackOverflow